Cómo posicionar un ListView de Android encima de una vista – sin ocupar el espacio completo

Para permitir a los usuarios enviar comentarios, tengo 2 vistas, apiladas verticalmente. Un ListView para mostrar comentarios introducidos y un pie de página LinearLayout, para permitir al usuario agregar un comentario (que es básicamente un EditText y un botón).

El pie de página debe estar anclado al pie de la pantalla y el ListView debe sentarse encima de él. Es similar a lo que ves en facebook para Android cuando estás agregando comentarios.

Sin embargo , no quiero que el ListView ocupe inicialmente el espacio completo – quiero que ocupe sólo el espacio necesario para mostrar sus filas, pero para poder crecer en el espacio restante a medida que el usuario añade comentarios – mientras permanece siempre encima del diseño del pie de página.

He intentado un LinearLayout como se sugiere aquí Android: ¿Cómo se puede alinear un botón en la parte inferior y listview anterior?

Sin embargo, esto hace que el ListView ocupe todo el espacio por encima del pie de página – cuando sólo hay un par de comentarios – por lo que su principalmente vacío y se ve raro.

He intentado un padre de RelativeLayout, donde el pie de página está anclado usando android:layout_alignParentBottom="true" ….. Posicionando el ListView encima del pie usando android:layout_above="@id/footerLayout" obliga el mismo comportamiento que arriba (ListView ocupa todo el espacio restante) … eliminar esto permite que el ListView 'crecer', pero se superpone el pie de página si su crece demasiado grande.

Aclamaciones.

¡Supongo que esta solución funcionará!

 <LinearLayout layout_width="MATCH_PARENT" layout_height="MATCH_PARENT" orientation="vertical"> <LinearLayout layout_width="MATCH_PARENT" layout_height="0" android:weight="1" orientation="vertical"> <YOURLIST layout_width="MATCH_PARENT" layout_height="wrap_content" /> </LinearLayout> <YOURVIEW android:layout_width="MATCH_PARENT" android:layout_height="WRAP_CONTENT" android:weight="0"/> </LinearLayout> 

Supongo que una manera de hacerlo sería usar el atributo android:fillViewport en el XML. Ver esta entrada en el blog de Romain Guy: http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/

  • Inflar diseño de forma programática en otro diseño
  • Espacio negro debajo de la barra de título en el uso de fondo personalizado para listview
  • Android XML ¿Hay una manera de utilizar el espacio de nombres de la herramienta con atributos personalizados?
  • Biblioteca de diseño de Android - Problemas de relleno / margen de botón de acción flotante
  • El título de la barra de herramientas desaparece al agregar vistas
  • Anidado RelativeLayouts dentro de LinearLayout
  • Cómo colocar una imagen sobre otra en la aplicación android?
  • Tema personalizado de Android: tema diferente para el modo horizontal y vertical
  • Android no está recolectando el archivo derecha dimens.xml de la carpeta de valores
  • FAB de la biblioteca de soporte de diseño no se mueve hacia arriba cuando se muestra la barra
  • Cómo cambiar la fuente de título ActionBar cuando se utiliza AppCompat
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.