ListView后放置缺少的按钮

时间:2011-02-14 03:21:45

标签: 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>

这将得到像这样的结果

enter image description here

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

enter image description here

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

enter image description here

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

5 个答案:

答案 0 :(得分:5)

ListView的身高更改为0dip。然后更改属性

android:layout_above="@id/LV_Device" 

 android:layout_above="@+id/btn_clearResult"

最后,删除android:layout_below修改最后一个按钮,然后添加android:layout_alignParentBottom="true"

答案 1 :(得分:5)

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

答案 2 :(得分:0)

Shijilal      你也许试试这个                      你的顶部按钮                                  你的底部组按钮        

答案 3 :(得分:0)

将RelativeLayout放在滚动视图中,这样即使滚动使用后按钮也会显示

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:paddingTop="10dip"
android:layout_height="fill_parent"
android:paddingBottom="10dip">
<RelativeLayout
    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>

答案 4 :(得分:0)

最初,listView.so清除结果按钮顶部没有任何项目。添加一些项目后清除按钮下降。但是当添加更多项目时,清除按钮会下降&amp;超出屏幕分辨率。我想知道,当项目被添加时,Initialy清除按钮。当清除按钮到达底部时,它不会进一步下降。您可以在列表视图中添加更多项目。