Нижний колонтитул внизу списка, фиксированный в нижней части экрана

Я пытался сделать нижний колонтитул ниже моего списка.

Вот как это делается.

<?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:background="@color/white" android:orientation="vertical" > <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:divider="#BE6D79" android:dividerHeight="3dp" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="30dp" android:background="@color/darkDetna" android:orientation="horizontal" > <Button android:id="@+id/contactBtn" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:paddingRight="0dip" android:text="Contact" /> <Button android:id="@+id/faq" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:padding="0dip" android:text="Terms And Conditions" /> <Button android:id="@+id/feedback" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:padding="0dip" android:text="Feedback " /> <Button android:id="@+id/fullSIte" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:padding="0dip" android:text="Full Site" /> </LinearLayout> </LinearLayout> 

Вот

Но проблема в том, что содержимое списка мало или есть только один элемент списка, нижний колонтитул ниже списка.

Я хочу, чтобы нижний колонтитул был закреплен в нижней части экрана.

Заранее благодарим за вас время и помощь.

Лучше использовать RelativeLayout

Объясните реализацию:

  • Добавьте нижний колонтитул, который будет выровнен в нижней части экрана. android:layout_alignParentBottom="true"
  • Затем добавьте listview над макетом android:layout_above="@+id/LinearLayout1" колонтитула android:layout_above="@+id/LinearLayout1"
  • Сделайте свой список, чтобы заполнить экран android:layout_width="fill_parent" и android:layout_height="fill_parent"

Изменить код:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/white" android:orientation="vertical" > <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@+id/LinearLayout1" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_weight="1" android:divider="#BE6D79" android:dividerHeight="3dp" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/LinearLayout1" android:layout_width="fill_parent" android:layout_height="30dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:background="@color/darkDetna" android:orientation="horizontal" > <Button android:id="@+id/contactBtn" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:paddingRight="0dip" android:text="Contact" /> <Button android:id="@+id/faq" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:padding="0dip" android:text="Terms And Conditions" /> <Button android:id="@+id/feedback" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:padding="0dip" android:text="Feedback " /> <Button android:id="@+id/fullSIte" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:padding="0dip" android:text="Full Site" /> </LinearLayout> </RelativeLayout> 

Вы можете использовать RelativeLayout вместо LinearLayout, а затем добавить представление в нижней части RelativeLayout с помощью android:layout_alignParentBottom="true"

  <?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" android:background="@color/white" android:orientation="vertical" > <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:divider="#BE6D79" android:dividerHeight="3dp" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="30dp" android:background="@color/darkDetna" android:orientation="horizontal" android:layout_alignParentBottom="true" > <Button android:id="@+id/contactBtn" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:paddingRight="0dip" android:text="Contact" /> <Button android:id="@+id/faq" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:padding="0dip" android:text="Terms And Conditions" /> <Button android:id="@+id/feedback" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:padding="0dip" android:text="Feedback " /> <Button android:id="@+id/fullSIte" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_weight="1" android:background="@drawable/listselector" android:padding="0dip" android:text="Full Site" /> </LinearLayout> 

Если вы не хотите использовать RelativeLayout, вы можете установить android:layout_gravity="bottom" на 2 linearlayout

Вы можете использовать RelativeLayout качестве корневого представления вашего макета.