ListView后放置缺少的按钮

Shi*_*lal 6 android listview android-layout

我有一个布局,顶部连续有3个按钮,然后是ListView,然后是listView下面的按钮.这是我的layout.xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <Button android:id="@+id/btn_top10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TOP 10"/>

    <Button android:id="@+id/btn_top100"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TOP 100"
        android:layout_toRightOf="@id/btn_top10"/>

    <Button android:id="@+id/btn_showAll"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show All"
        android:layout_toRightOf="@id/btn_top100"/>

    <ListView android:id="@+id/LV_Device"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/btn_top10"
        android:layout_above="@id/LV_Device"/>

    <Button android:id="@+id/btn_clearResult"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Clear Results"
        android:layout_below="@id/LV_Device"/>  

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这将得到这样的结果

在此输入图像描述

如果我向ListView添加一些值然后确定,则会显示下面的按钮

在此输入图像描述

但是如果列表视图变得大于屏幕大小,那么即使在滚动到listView的底部之后,下面的按钮也不可见

在此输入图像描述

怎么解决这个问题?我不希望按钮固定在屏幕的底部.我希望按钮只显示在ListView的末尾

Rom*_*Guy 5

改变你ListView的身高0dip.然后更改属性

android:layout_above="@id/LV_Device" 
Run Code Online (Sandbox Code Playgroud)

 android:layout_above="@+id/btn_clearResult"
Run Code Online (Sandbox Code Playgroud)

最后,通过删除android:layout_below和添加来修改最后一个按钮android:layout_alignParentBottom="true".


小智 5

如果你得到了答案,那就是那些仍然会为你的问题寻找答案的人.您应该使用ListView.addFooterView(yourbutton)到您的列表中.(但不要忘记在为listview设置适配器之前放置此声明,如文档中所述.)