Android小部件:在小部件中向ListView添加上边距
虽然这个问题听起来像是其他一些问题的愚弄,但我试图在一个小部件中这样做的事实大大限制了我在其他地方使用建议的解决方案的能力 摘要:我想在列表中最上面的项目上方和最下面的项目下方添加间距,以便将它们从标题栏和底部栏边缘偏移 从本质上讲,我试图解决与以下问题相同的问题:但是,我不能依赖对ListView对象的引用来获取setHeader()或类似的内容Android小部件:在小部件中向ListView添加上边距,android,listview,android-widget,widget,android-listview,Android,Listview,Android Widget,Widget,Android Listview,虽然这个问题听起来像是其他一些问题的愚弄,但我试图在一个小部件中这样做的事实大大限制了我在其他地方使用建议的解决方案的能力 摘要:我想在列表中最上面的项目上方和最下面的项目下方添加间距,以便将它们从标题栏和底部栏边缘偏移 从本质上讲,我试图解决与以下问题相同的问题:但是,我不能依赖对ListView对象的引用来获取setHeader()或类似的内容 这真的不可能在Android小部件中实现吗?我假设您正在为ListView使用适配器,因此您正在扩展额外的ListView布局。在getView方法
这真的不可能在Android小部件中实现吗?我假设您正在为ListView使用适配器,因此您正在扩展额外的ListView布局。在
getView
方法中,根据列表项位置(0和最后一个),放置底部或顶部填充。在getView()期间,在适配器中检查位置是否为0或.getLength(),并在convertView上设置LayoutParams因此,这里有适配器的覆盖函数。通过此函数,您可以更改或指定边距,高度。在这里,您需要获取正在使用的布局对象,并从中更改布局属性
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.drawer_list_item, null);
}
if (position == 0) {//for first row
ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon);
TextView txtTitle = (TextView) convertView.findViewById(R.id.title);
RelativeLayout.LayoutParams relate = new RelativeLayout.LayoutParams(200, 200);
relate.setMargins(150, 0, 0, 0);
imgIcon.setLayoutParams(relate);
RelativeLayout.LayoutParams text = new RelativeLayout.LayoutParams(300, 100);
text.setMargins(150, 180, 0, 0);
}
return convertView ;
//希望对您有所帮助如何使用RemoteView放置填充?