2010-02-23 12 views
30

Estoy usando el siguiente código para mostrar el botón en la parte inferior de la actividad.¿Cómo crear un pie de página fijo en el diseño de 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> 

y listView encima de él. cuando muestro más datos en la vista de lista, este panel de botones se mueve hacia abajo. ¿Puede alguien guiarme, cómo puedo solucionarlo en la parte inferior de la actividad?

cualquier ayuda sería apreciada.

Respuesta

21

android:layout_alignParentBottom El atributo tiene que ser declarado en un elemento de la RelativeLayout no en el RelativeLayout a sí mismo (a menos que haya otra RelativeLayout como padre).

que debe hacer algo como esto, con el ListView dentro del RelativeLayout también:

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

he intentado durante horas al día de vuelta, pero esto funcionó al instante :) – ani0904071

95

La respuesta correcta es seleccionado como defectuoso, el botón, se oculta la parte inferior de la vista de lista. La forma correcta es declarar primero el botón y colocar la lista sobre el botón.

<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"/> 
5

Si tuviera, por ejemplo, todos los elementos desplazables en una ScrollView, usted debe hacer el siguiente aspecto:

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

Tenga en cuenta que si desea que el pie de página a fijarse, a continuación, no debe ponerlo en ScrollView, donde se colocará el contenido desplazable. Hazlo hijo de RelativeLayout y establece layout_alignParentBottom en verdadero. Quizás necesite agregar un relleno en la parte inferior del ScrollView en este caso (para que el pie de página no oculte el último elemento).

La idea es similar para otros elementos que ScrollView

Cuestiones relacionadas