Listview con encabezado y pie de página

Estoy tratando de crear una vista de Android, con un listview como encabezado y pie de página. Hasta ahora solo gestionado que solo aparece al encabezado. Aquí hay una foto que explica lo que quiero y que tengo.

Intento

¿Alguien sabe lo que estoy haciendo mal? Secar el código actual:

<?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="vertical" android:background="#ffffff"> <!-- Header Starts--> <LinearLayout android:id="@+id/header" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@layout/header_gradient" android:layout_margin="5dip" android:paddingTop="13dip" android:paddingBottom="8dip"> <!-- Logo Start--> <ImageView android:src="@drawable/logo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dip" /> <!-- Logo Ends --> </LinearLayout> <!-- Header Ends --> <!-- Content --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" android:gravity="center"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="5dip"> <EditText android:id="@+id/searchText" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> <ImageButton android:id="@+id/searchButton" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@android:drawable/ic_menu_search" /> </LinearLayout> <ListView android:id="@+id/lstNews" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_marginLeft="5dip" android:layout_marginRight="5dip" /> </LinearLayout> <!-- Footer Start --> <LinearLayout android:id="@+id/footer" android:layout_width="fill_parent" android:layout_height="30dip" android:background="@layout/footer_gradient" android:layout_margin="5dip" android:paddingTop="5dip" android:paddingLeft="5dip" android:layout_alignParentBottom="true"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:text="Instituto Superior de " /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textStyle="bold" android:text="Engenharia" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:text=" do Porto" /> </LinearLayout> <!-- Footer Ends --></LinearLayout> 

Una opción es usar un RelativeLayout en su lugar.

En primer lugar usted tendrá que cambiar su LinearLayout más LinearLayout a un RelativeLayout .

El siguiente paso es agregar la propiedad android:layout_above="@id/content" al encabezado.

 <!-- Header Starts--> <LinearLayout android:id="@+id/header" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@layout/header_gradient" android:layout_margin="5dip" android:paddingTop="13dip" android:paddingBottom="8dip" android:layout_above="@id/content"> 

El paso final es añadir las propiedades android:layout_above="@id/footer" y android:id="@+id/content" al LinearLayout que contiene el contenido y el listview ie

 <!-- Content --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/content" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" android:gravity="center" android:layout_above="@id/footer"> 

Los elementos se agregan al LinearLayout en orden, por lo que cuando el ListView llena a los padres ocupa todo el espacio. Intento establecer el layout_weight de ListView a 1.

En la segunda configuración raíz, establezca wrap_content altura o cualquier otra cosa pero no fill_parent . Si Yuo desea establecer wrap_content conjunto android:weight 1.0 o simple 1

  • ¿Cómo puedo hacer que una celda en un ListView en Android se expanda y contraiga verticalmente cuando se toca?
  • Suavizar la eliminación de elementos dentro de una vista de lista personalizada
  • Elemento de ListView personalizado Disposición gráfica Android
  • Cómo extender AdapterView para comportarse como LinearLayout llenado dinámicamente por un adaptador
  • Getview Llamado varias veces en android
  • El caché ListView para diferentes filtros de color no funciona
  • Cómo hacer un ListView transparente en Android?
  • Cómo obtener datos de adaptador personalizado en ListView?
  • El adaptador getView () pide la posición 0 dos veces antes de cada posición. ¿Por qué?
  • Crear intención dentro del listview del evento setOnItemClickListener
  • Después de enviar datos al servidor de cómo imprimir la respuesta en la próxima actividad?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.