reiley
reiley

Reputation: 3761

Layout for ListView at top and Buttons in Bottom?

How to display the layout with a ListView at top and mutliple Buttons at the bottom (as in pic)

enter image description here

Below is the code that I tried (Problem is the buttons are overlapping the list which is somewhat visible behind the buttons & the 3 buttons are not equal is size though I used the weight sum):

<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>

Upvotes: 0

Views: 5396

Answers (2)

firefistace
firefistace

Reputation: 263

What I did is basically do a 2 linear layouts, 1 for the list and 1 for the button. Also setting the weight = 1 and the width = 0 will make them equal size This code worked for me:

<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>

Upvotes: 7

vasart
vasart

Reputation: 6702

Add to LinearLayout id property and add this to ListView

android:layout_above="@id/linear_layout_id"

To make buttons equal size change in their properties this

android:layout_width="wrap_content"

to this

android:layout_width="match_parent"

Upvotes: 0

Related Questions