Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android小部件:在小部件中向ListView添加上边距_Android_Listview_Android Widget_Widget_Android Listview - Fatal编程技术网

Android小部件:在小部件中向ListView添加上边距

Android小部件:在小部件中向ListView添加上边距,android,listview,android-widget,widget,android-listview,Android,Listview,Android Widget,Widget,Android Listview,虽然这个问题听起来像是其他一些问题的愚弄,但我试图在一个小部件中这样做的事实大大限制了我在其他地方使用建议的解决方案的能力 摘要:我想在列表中最上面的项目上方和最下面的项目下方添加间距,以便将它们从标题栏和底部栏边缘偏移 从本质上讲,我试图解决与以下问题相同的问题:但是,我不能依赖对ListView对象的引用来获取setHeader()或类似的内容 这真的不可能在Android小部件中实现吗?我假设您正在为ListView使用适配器,因此您正在扩展额外的ListView布局。在getView方法

虽然这个问题听起来像是其他一些问题的愚弄,但我试图在一个小部件中这样做的事实大大限制了我在其他地方使用建议的解决方案的能力

摘要:我想在列表中最上面的项目上方和最下面的项目下方添加间距,以便将它们从标题栏和底部栏边缘偏移

从本质上讲,我试图解决与以下问题相同的问题:但是,我不能依赖对ListView对象的引用来获取setHeader()或类似的内容


这真的不可能在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放置填充?