ListView是否有某种内置的默认边距或填充?
我有一个带有ImageView和ListView的简单LinearLayout。 整个ListView似乎有一个小的边距或填充。
<?xml version="1.0" encoding="utf-8"?>
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/starbuzz_logo"
android:contentDescription="@string/starbuzz_logo"/>
<ListView
android:id="@+id/listView_drinks"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/drinks" />
附上截图。我不被允许嵌入图像。 screenshot
答案 0 :(得分:0)
填充或边距可能来自每个列表项的默认布局。要删除或更改填充或边距的大小,请为列表项创建自定义布局。
item_list_coffee.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
然后覆盖适配器中的getView(),以便它使用您的自定义布局
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_list_coffee, parent, false);
}
final String string = getItem(position);
// find textview and set text to string
return convertView;
}