Quiero mostrar un botón debajo de ListView
. El problema es que, si ListView
se amplía (elementos agregados ...), el botón se saca de la pantalla.
Probé una LinearLayout
con pesas (como se sugiere en Android:? Por qué no hay maxHeight de Vista ), pero tampoco tengo los pesos mal o simplemente no funcionó.
Además, encontré en alguna parte la sugerencia para usar un RelativeLayout
. A ListView
continuación, se establecería encima del botón con el android:layout_above
parámetro.
El problema con esto es que no sé cómo colocar el botón después. En el ejemplo que encontré, la Vista debajo de ListView
se ajustó usando android:layout_alignParentBottom
, pero no quiero que mi botón se adhiera a la parte inferior de la pantalla.
¿Alguna idea además de usar el método setHeight y algunos cálculos del espacio requerido?
Editar: tengo muchas respuestas útiles.
La solución de bigstone y user639183 casi funcionó perfectamente. Sin embargo, tuve que agregar un margen / relleno adicional en la parte inferior del botón, ya que aún se empujaría a la mitad de la pantalla (pero luego se detendría)
La respuesta de Adinia con el diseño relativo solo está bien si desea que el botón esté fijo en la parte inferior de la pantalla. No es lo que pretendía, pero aún podría ser útil para otros.
La solución de AngeloS fue la que elegí al final, ya que creó los efectos que quería. Sin embargo, hice dos cambios menores
LinearLayout
alrededor del botón:Primero, como no quería tener ningún valor absoluto en mi diseño, cambié
android:layout_height="45px"
awrap_content
, que también funciona bien.En segundo lugar, como quería que el botón estuviera centrado horizontalmente, que solo es compatible con vertical
LinearLayout
, cambié android: Orientación = "horizontal" a "vertical".
AngeloS también declaró en su publicación inicial que no estaba seguro de si el
android:layout_weight="0.1"
parámetro en elLinearLayout
entornoListView
tuvo algún efecto; ¡Lo intenté y realmente lo hace! Sin, el botón vuelve a salir de la pantalla.
android:layout_alignParentBottom="true"
. Pero para ser claros, ¿desea que el botón permanezca adjunto a la parte inferior de ListView cuando hay pocos elementos? Si es así, vea lo que dice Rich.