删除listview上的填充

时间:2015-02-16 15:54:55

标签: android layout

嗨我有一个烦人的问题我想在我的列表视图底部放置一个按钮作为操作栏的一部分但是在listview的最后一项下面有一些填充我无法摆脱。这是我的代码,任何帮助将不胜感激。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawingCacheQuality="high">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:drawingCacheQuality="high"
    android:paddingBottom="0dp"
    android:layout_margin="0dp"
    >

<ListView
    android:id="@+id/messagingListView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:divider="@null"
    android:layout_margin="0dp"
    android:layout_alignParentTop="true"
    android:dividerHeight="10dp"
    android:paddingTop="10dp"
    android:paddingRight="10dp"
    android:paddingBottom="0dp"
    android:paddingLeft="10dp"
    />
</LinearLayout>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="0dp"
    android:background="#FFFFFF"
    android:layout_alignParentBottom="true">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="new_game"
        android:textColor="#FFFFFF"
        />
</LinearLayout>

1 个答案:

答案 0 :(得分:2)

更简单的布局如下所示:

  • 包含LinearLayout和操作栏
  • 的垂直ListView
  • 用于操作栏的LinearLayout的高度为wrap_content,因此只能获得其子项所需的高度
  • ListViewheight0dp及其weight1,以便让它占用操作栏留下的所有可用空间
<?xml version="1.0"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:drawingCacheQuality="high">
    <ListView
        android:id="@+id/messagingListView"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:divider="@null"
        android:layout_margin="0dp"
        android:dividerHeight="10dp"
        android:paddingTop="10dp"
        android:paddingRight="10dp"
        android:paddingBottom="0dp"
        android:paddingLeft="10dp" />
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="0dp"
        android:background="#FFFFFF">
        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="new_game"
            android:textColor="#FFFFFF" />
    </LinearLayout>
</LinearLayout>

如果剩余空间,您应该明确地向我们展示用于列表项的布局

注意:
在Android Studio中,尝试单击LinearLayout以使其在Preview中突出显示,然后在ListView上突出显示是否存在间隙(使用缩放)。 如果您看到上面的布局存在差距,则它是您计算机上的Android Studio Preview错误,它适用于所有设备。