Подтвердить что ты не робот

Как создать фиксированный нижний колонтитул в макете android?

Я использую следующий код для отображения кнопки внизу действия.

<RelativeLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" 
         >
    <Button android:id="@+id/btnGetMoreResults"
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 

         android:text="Get more"
       />
       </RelativeLayout> 

и listview над ним. когда я показываю больше данных в списке, эта кнопка пульта перемещается вниз. Можно ли мне указать, как я могу исправить ее в нижней части действия?

любая помощь будет оценена.

4b9b3361

Ответ 1

Атрибут android:layout_alignParentBottom должен быть объявлен в элементе RelativeLayout не в самом RelativeLayout (если в нем нет другого RelativeLayout).

Вы должны сделать что-то подобное: ListView внутри RelativeLayout также:

<RelativeLayout 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"         
 android:layout_centerHorizontal="true">
  <ListView ...>
  <Button android:id="@+id/btnGetMoreResults"
   android:layout_height="wrap_content" 
   android:layout_width="wrap_content"     
   android:text="Get more"
   android:layout_alignParentBottom="true" />
</RelativeLayout> 

Ответ 2

Ответ, выбранный как правильный, неисправен, кнопка скроет нижнюю часть списка. Правильный способ состоит в том, чтобы сначала объявить кнопку и расположить список над кнопкой.

<Button android:id="@+id/btnGetMoreResults"
   android:layout_height="wrap_content" 
   android:layout_width="wrap_content"     
   android:text="Get more"
   android:layout_alignParentBottom="true"/>

<ListView 
   ...
   android:layout_above="@id/btnGetMoreResults"/>

Ответ 3

Если у вас были, например, все прокручиваемые элементы в ScrollView, вы должны сделать следующее:

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
    android:layout_height="match_parent"
        style="@style/rootElement"
    >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

            <!-- texts, buttons, images and anything that you want to scroll -->

        </ScrollView>

    <LinearLayout 
        android:orientation="vertical" 
        style="@style/footer"
        android:id="@+id/footer"            
            android:layout_alignParentBottom="true"
        >

    </LinearLayout>

</RelativeLayout>

Обратите внимание, что если вы хотите, чтобы нижний колонтитул был исправлен, вы не должны помещать его в ScrollView, где будет размещаться прокручиваемый контент. Сделайте его дочерним по отношению к RelativeLayout и установите для параметра layout_alignParentBottom значение true. Возможно, вам понадобится добавить дополнение в нижней части ScrollView в этом случае (так что последний элемент не будет скрыт нижним колонтитулом).

Идея аналогична для элементов, отличных от ScrollView