Search code examples
androidlistviewbuttonandroid-linearlayoutandroid-relativelayout

Buttons below the ListView


I have the listView with set of items. And I want to add 2 buttons below the list. But if I do like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout

              xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/fileManager"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:orientation="vertical"
              android:gravity="center" >
     <LinearLayout

              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
    <ListView

        android:background="#000000"
        android:id="@+id/fileManagerList"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </ListView>
    <CheckedTextView  
             android:id="@+id/checkedTextItem" 
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content" 
             android:gravity="center_vertical" 
             android:clickable="true"
             android:checkMark="?android:attr/listChoiceIndicatorMultiple"
             android:textColor="#000000"
             android:paddingLeft="10dip" 
             android:paddingRight="6dip" 
             android:typeface="sans" android:textSize="16dip"/> 

     </LinearLayout>
            <LinearLayout

              xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/fileManager"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="horizontal"
              android:gravity="center" 
              android:layout_alignBottom="@+id/fileManagerList">

             <Button
                android:id="@+id/attachFiles"
                android:layout_width="200dp"
                android:layout_height="55dp"
                android:background="#007FFF"
                android:gravity="center|center"

                android:text="Attach files"
                android:layout_alignBottom="@+id/fileManagerList"
                android:textColor="#FFFFFF"
                android:textSize="18dp"
                android:textStyle="bold" />

            <Button
                android:id="@+id/cancelFiles"
                android:layout_width="82dp"
                android:layout_height="55dp"
                android:background="#838B83"
                android:gravity="center|center"  
                android:layout_alignRight="@+id/attachFiles"
                android:layout_alignBottom="@+id/fileManagerList"
                android:text="Do not attach"
                android:textColor="#FFFFFF"
                android:textSize="18dp"
                android:textStyle="bold" />
        </LinearLayout>
</LinearLayout>

my buttons displaying in each row of ListView. I tried do it the same way but using RelativeLayout, but I get correct list, buttons were in the bottom, but they overlay the last item of the list. How can I implement this?


Solution

  • Try this Layout, You can achieve your goal using the below XML Layout

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relRingtone"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"> 
    
                <ListView
                 android:id="@+id/fileManagerList"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"   
                 android:choiceMode="singleChoice"
                 android:contentDescription="@string/ringtone"
                 android:layout_marginLeft="3dip" 
                 android:textSize="2dp" />
    
                <LinearLayout
                android:id="@+id/closecalmlayout"
                android:layout_below="@+id/fileManagerList" 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:weightSum="1.0" >
    
                  <Button
                      android:id="@+id/btnOk"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content" 
                      android:layout_marginLeft="5dip"
                      android:layout_marginTop="5dip"
                      android:layout_weight=".50"
                      />
    
                  <Button
                      android:id="@+id/btnCancel"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layout_marginLeft="5dip"
                      android:layout_marginRight="5dip"
                      android:layout_marginTop="5dip"
                      android:layout_weight=".50"
                       />
    
                </LinearLayout>  
         </RelativeLayout>
    

    Hope it helps.