Android: footer in ListView

I have a list as below

<?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:background="#E6E7E2"> <ImageView android:id="@+id/Thumbnail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon" /> <TextView android:id="@+id/FilePath" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#E6E7E2" /> </LinearLayout> 

and I have a footer below

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="bottom"> <LinearLayout android:layout_width="fill_parent" android:layout_alignParentBottom="true" android:layout_height="wrap_content" android:id="@+id/layoutfooterbutton" android:layout_gravity="bottom"> <Button android:layout_weight=".30" android:layout_margin="2dp" android:layout_height="60dp" android:layout_width="100dp" android:textColor="#FFF" android:gravity="bottom|center" android:textSize="12dp" android:id="@+id/ButtonAudio" android:background="@drawable/vid_red"/> <Button android:layout_weight=".30" android:layout_height="60dp" android:layout_width="100dp" android:gravity="bottom|center" android:background="@drawable/redblank" android:textColor="#E6E7E2" android:id="@+id/ButtonBrowse" android:layout_marginTop="2dp"/> <Button android:layout_weight=".30" android:layout_margin="2dp" android:layout_height="60dp" android:layout_width="100dp" android:textColor="#FFF" android:gravity="bottom|center" android:textSize="12dp" android:background="@drawable/reddelete" android:id="@+id/ButtonDelete"/> </LinearLayout> </RelativeLayout> 

When I add a footer to the list using

 View header = getLayoutInflater().inflate(R.layout.header, null); View footer = getLayoutInflater().inflate(R.layout.footer, null); ListView lv = getListView(); // setting header for the list view lv.addHeaderView(header); lv.addFooterView(footer); setListAdapter(new ArrayAdapter<String>(AudioListActivity.this, R.layout.row_audio, R.id.label, db_results)); 

It goes right below the last element of the list. I want the footer to be below. How can i get it?

PS: The title is perfectly located on top.

Thanks for your time in advance.

+6
source share
3 answers

for your scenario, I think you need something similar to this.

 <RelativeLayout> <include android:id="@+id/header" layout="@layout/header" android:layout_width="fill_parent" android:layout_alignParentTop="true" /> <include android:id="@+id/footer" layout="@layout/footer" android:layout_width="fill_parent" android:layout_alignParentBottom="true" /> <ListView android:layout_below="@id/header" android:layout_above="@id/footer"/> </RelativeLayout> 
+6
source

He works as intended. The top of the footer will be at the bottom of the list. If you want to have something static at the bottom of the screen, you need to use a RelativeLayout with a footer like alignParentBottom and list it on top.

Ahh I found another similar question, and the answer is the same :)

Android ListView Footer View does not fit at the bottom of the screen

+3
source

Try it.

 <ListView android:id="@+id/your_id" android:layout_width="match_parent" android:layout_height="wrap_content" tools:listfooter="@layout/your_layout" /> 
0
source

Source: https://habr.com/ru/post/894346/