我试图找出如何使用在ListView
函数中返回ImageView
的自定义适配器删除getView()
中行之间的间距。
问题的视觉表示:
ListView
目前位于RelativeLayout
内。
我已经尝试将ListView
上的填充,分隔符和边距全部设置为0dp而没有运气。我还尝试在ImageView
函数中的每个getView()
项上设置填充 - 所有这些都没有运气。
如何删除ListView
行之间的所有填充/边距/间距?无论是基于Java还是基于XML,我都愿意接受任何解决方案。
ListView XML:
<ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listView1" android:layout_below="@+id/img1" android:layout_centerHorizontal="true" android:layout_above="@+id/textView" android:fastScrollEnabled="false" android:divider="@null" android:padding="0dp" android:layout_margin="0dp" android:dividerHeight="0dp" />
相关的getView()适配器代码
#some irrelevant code to load images
viewGroup.setClipToPadding(false);
viewGroup.setPadding(0,0,0,0);
if(view == null){
ImageView newView = new ImageView(this.context);
newView.setImageDrawable(img);
newView.setPadding(0,0,0,0);
return newView;
}
else{
((ImageView) view).setImageDrawable(img);
return view;
}
答案 0 :(得分:1)
想出来。我需要在新的ImageView上使用setAdjustViewBounds
。
getView()中原始代码的示例:
if(view == null){
ImageView newView = new ImageView(this.context);
newView.setImageDrawable(img);
newView.setPadding(0,0,0,0);
newView.setAdjustViewBounds(true);
return newView;
}
else{
((ImageView) view).setImageDrawable(img);
return view;
}