固定按钮位于可滚动的ListView下方

时间:2011-06-19 16:48:34

标签: android listview

我有一个带有项目的可滚动ListView(如http://developer.android.com/resources/tutorials/views/hello-listview.html中所示)。我使用ArrayAdapter作为项目,并将其用作setListAdapter中的参数。现在我想在屏幕底部添加一个按钮,该按钮不会随列表一起滚动。有人可以给我一些提示或发布一段代码片段吗?

3 个答案:

答案 0 :(得分:104)

如果您的活动扩展了ListActivity,那么您需要这样的内容:

<LinearLayout android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical">

    <ListView android:id="@android:id/list"
              android:layout_height="0dip"
              android:layout_width="match_parent"
              android:layout_weight="1" />

    <Button android:id="@+id/btn" 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

</LinearLayout>

请注意,listview的layout_weight设置为1.这将使按钮固定在底部的位置。希望有所帮助。祝你好运!

答案 1 :(得分:14)

您可以使用RelativeLayout修复布局底部的按钮,并在其上方添加listView,如下所示:

<RelativeLayout android:layout_width="match_parent"
         android:layout_height="match_parent">

      <Button android:id="@+id/btn" 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"/>

     <ListView 
            android:id="@android:id/list"
            android:layout_height="match_parent"
            android:layout_width="match_parent"
               android:layout_above="@id/btn" />
</RelativeLayout>

答案 2 :(得分:1)

我的解决方案基于Houcline的solutionListView始终高于Button

<CheckBox
    android:id="@+id/chbRemoveIfUninstall"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"/>
<ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_above="@id/chbRemoveIfUninstall"/>