我在RelativeLayout中有一个片段。这个片段包含一个ListView和一个Button,并加载并显示在另一个布局下面。该片段并不总是可见,并且ListView中的数据每次显示时都会更改。
除了一件事,一切都很好。如果屏幕空间太小,ListView高度会缩小(正确)但Button不会显示。它被砍掉了。我在整个片段布局周围都有一个边框,可以一直显示,但如果没有足够的空间,按钮就会消失,边框会正确地显示在ListView周围。
如何将我的按钮保留在屏幕上并缩小ListView?我的片段布局是:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/quickFilterLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#66000000">
<ImageView
android:id="@+id/quickFilterArrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/quick_filter_top_arrow"
android:contentDescription="quick filter up arrow" />
<RelativeLayout
android:id="@+id/quickFilterMainContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_below="@id/quickFilterArrow"
android:background="@drawable/quick_filters_background" >
<ListView
android:id="@+id/quickFilterListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#C8C7CC"
android:dividerHeight="1dp" />
<Button
android:id="@+id/closeQuickFilterButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/quickFilterListView"
android:background="@drawable/quick_filter_close_button_selector"
android:text="Close" />
</RelativeLayout>
</RelativeLayout>
答案 0 :(得分:1)
怎么样:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_alignParentBottom="true"/>
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/button" />
</RelativeLayout>
这使得按钮占据40dp而listview占用其他所有内容。