列表视图的默认填充或边距

时间:2016-01-07 22:08:29

标签: android android-listview

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

1 个答案:

答案 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;
}