顶部的ListView和底部的按钮的布局?

时间:2012-07-09 21:10:17

标签: android android-layout

如何在顶部显示ListView并在底部显示多个Buttons的布局(如图片中所示)

enter image description here

下面是我尝试的代码(问题是按钮与列表重叠,在按钮后面有些可见& 3按钮不相等,虽然我使用了重量总和):

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:weightSum="3" >

        <Button
            android:id="@+id/bDone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Done" />

        <Button
            android:id="@+id/bCancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Cancel" />

        <Button
            android:id="@+id/bSelAll"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Select All" />
    </LinearLayout>

    <ListView
        android:id="@android:id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >
    </ListView>

</RelativeLayout>

2 个答案:

答案 0 :(得分:7)

我所做的基本上是做2个线性布局,1个用于列表,1个用于按钮。同样设置weight = 1和width = 0将使它们的大小相等 这段代码对我有用:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginTop="5dip"  
    android:layout_marginBottom="5dip"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_above="@+id/footerlayout"
    android:id="@+id/listviewlayout">
    <ListView
        android:id="@+id/list"               
        android:layout_width="fill_parent"               
        android:layout_height="wrap_content"  
        android:layout_weight="1">
    </ListView> 
 </LinearLayout>
 <LinearLayout android:id="@+id/footerlayout"
        android:layout_marginTop="3dip"
        android:layout_height="45dip"
        android:orientation="horizontal" 
        android:layout_width="fill_parent" 
        android:gravity="center"
        android:layout_alignParentBottom="true">
        <Button
            android:id="@+id/bDone" 
            android:text="Done" 
            android:layout_width="0dip"
            android:layout_height="40dip"
            android:layout_weight="1">
        </Button>   
        <Button
            android:id="@+id/bCancel" 
            android:text="Cancel"
            android:layout_width="0dip"
            android:layout_height="40dip"
            android:layout_weight="1"   
            >
        </Button>   
        <Button
            android:id="@+id/bSelAll" 
            android:text="Select All"
            android:layout_width="0dip"
            android:layout_height="40dip"
            android:layout_weight="1"
            >
        </Button>   
    </LinearLayout>
</RelativeLayout>

答案 1 :(得分:0)

添加到LinearLayout id属性并将其添加到ListView

android:layout_above="@id/linear_layout_id"

要使按钮的属性大小发生相同的变化,

android:layout_width="wrap_content"

到这个

android:layout_width="match_parent"