如何在ListView下方设置Button?

时间:2013-12-03 17:57:24

标签: android layout

我想创建一个布局,其中listview始终显示底部按钮上方的数据。怎么做。以下是给出的不同选项 我选择

item1
item2
button
empty space
empty space
empty space
empty space
empty space
empty space

II选项

item1
item2
item3
item4
item5
item6
item7
item8
button

III选项

item3
item4
item5
item6
item7
item8
item9
item10
button

如何使用列表和按钮实现此布局?例如,如果我有15个项目而不是通过滚动访问项目(ScrollView解决此问题)并且按钮可见。

2 个答案:

答案 0 :(得分:0)

我理解你的问题。使用ListView创建布局,并使用按钮创建另一个布局。现在添加Button布局作为此ListView布局的页脚。
ListView布局将是这样的

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

    <ListView
        android:id="@+id/myListView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</RelativeLayout>

现在按钮布局

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

    <Button
        android:id="@+id/myButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</RelativeLayout>

您可以在ListView中动态添加页脚。它是您的完美解决方案。查看答案How to add footer in Listview

为了您的目的,我可以重新编写代码作为示例。请检查并使用它。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:id="@+id/layoutOption1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            android:visibility="visible" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 1" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 2" />

            <Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="My Button" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/layoutOption2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            android:visibility="gone" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 1" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 2" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 3" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 4" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 5" />

            <Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="My Button" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/layoutOption3"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            android:visibility="gone" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 1" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 2" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 3" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 4" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 5" />

            <Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="My Button" />
        </LinearLayout>
    </RelativeLayout>

</ScrollView>

在您的活动类中,为您的目的获取每个布局选项和setVisibility的ID。在您的要求中,我为您编写了此代码。谢谢。

答案 1 :(得分:0)

如果你想使用ScrollView试试这个:

<?xml version="1.0" encoding="utf-8"?>

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

    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true"
        android:layout_above="@+id/LastButton">

        <LinearLayout
            android:id="@+id/layout1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 1" />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 2" />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 3" />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 4" />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 5" />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 6" />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Item 7" />

        </LinearLayout>

    </ScrollView>

    <Button
        android:id="@+id/LastButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Last Button" />

</RelativeLayout>  

LastButton nead android:layout_alignParentBottom =“true”,以便在LinearLayout增长时保持可见。