Si está presentando material en una pila vertical u horizontal, debe usar LinearLayout
y luego usar el atributo layout_weight
para controlar las proporciones de las filas/columnas individuales dentro del contenedor.
Si desea tamaño de pantalla, establezca layout_width
y layout_height
en fill_parent
, de lo contrario, no obtendrá todas las dimensiones de pantalla disponibles. Si intenta usar wrap_content
para la altura, todo colapsará, a menos que recurra a restricciones de diseño adicionales, p. minHeight
.
Usamos esto en todas partes y es bastante confiable. Para tres elementos, puede usar 1/1/1
o 3/3/3
.
¡Los pesos tampoco tienen que ser iguales! Puedes dividir las proporciones de la forma que desees; los pesos son solo proporciones relativas de todo el tramo (ancho/alto). P.ej. si desea que el elemento medio tenga el doble del tamaño, use 1/2/1
; si lo desea, use el 40% de 30/40/30
o 3/4/3
.
Un buen "truco" es usar layout_weight
= 1 en exactamente una fila/columna (otros valores predeterminados a cero), y "completará" cualquier espacio restante. Este es un escenario de distribución común.
Si necesita que la pila sea desplazable, puede ponerla en ScrollView
. En este caso, debe configurar el layout_height
del LinearLayout
en wrap_content
, y estará sujeto al colapso dependiendo del capricho del sistema de disposición (lo que significa que debe usar restricciones mínimas/máximas).
Esto funciona para mí. Entiendo que puede no ser muy eficiente desde el punto de vista de la memoria, ya que tendremos que hacerlo explícitamente, etc. pero en mi caso no estoy usando más de 5 elementos, así que estoy bien. Gracias – lazyguy