android android-layout scrollview relativelayout footer

¿Cómo tener un pie de página fijo con scrollview en Android?



android-layout relativelayout (4)

He estado tratando de usar

El pie de página fijo no muestra el elemento de la lista más inferior

pero no funciona con scrollview. Tenga en cuenta que no estoy usando listview, pero es un gran diseño con imágenes y botones. El pie de página debe colocarse en el botón siempre incluso mientras el usuario está desplazándose. FourSquare tiene esto en su aplicación donde hay un pie de página fijo incluso mientras se desplaza.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true" > <RelativeLayout android:id="@+id/root" android:layout_width="wrap_content" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/search_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="@color/red" /> <LinearLayout android:id="@+id/main_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/search_container" android:layout_below="@+id/root" android:background="@color/layout_bg_wallet_login" android:orientation="vertical" > ------More Buttons and Images </LinearLayout> </RelativeLayout>


Esta solución solo tiene un problema: el pie de página flota sobre la vista de desplazamiento y si no hay suficiente espacio vertical, el pie de página oculta la parte inferior de la vista de desplazamiento.

Para estar seguro de que la vista de desplazamiento completa siempre se mostrará, tuve un relleno inferior en la vista de desplazamiento igual a la altura del pie de página en el ejemplo (50dp):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="50dp" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > ....... </LinearLayout> </ScrollView> <include android:layout_height="50dp" android:layout_width="match_parent" android:layout_alignParentBottom="true" layout="@layout/footer" > </include> </RelativeLayout>


Parece que tratas de poner el pie de página dentro de la vista de desplazamiento con el código que tienes. Si no desea que el pie de página se mueva con su contenido de desplazamiento, debe mantenerlo en la misma capa que la vista de desplazamiento. Reúna un simple ejemplo de lo que creo que su objetivo es lograr. (No usé strings.xml o colors.xml en este ejemplo, pero deberían usarse para un proyecto real)

<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" > <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@+id/footer" android:background="#0000ff" android:fillViewport="true" > <TextView android:id="@+id/texthere" android:layout_width="160dp" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_vertical|center_horizontal" android:text="test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test" android:textSize="35sp" > </TextView> </ScrollView> <RelativeLayout android:id="@+id/footer" android:layout_width="fill_parent" android:layout_height="100dp" android:background="#ffff00" android:layout_alignParentBottom="true"> <TextView android:id="@+id/texthere2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="things in your footer here" android:textSize="20sp" /> </RelativeLayout> </RelativeLayout>



Tienes que hacer tu vista de footerview fuera de scrollview