studio - Android: tratando de entender android: layout_weight
linearlayout padding (2)
¿Hay alguna manera de obtener un valor porcentual (0..100%) de android: layout_weight?
Por supuesto. Haz que sumen hasta 100.
Para su "valor porcentual", desea que el android:layout_height
de los elementos individuales dentro de LinearLayout
sea 0px
.
Estoy tratando de dividir una página en tres partes. Me gustaría hacerlo en valores porcentuales, sin embargo, esto no es compatible con Android. En su lugar tengo que usar android:layout_weight
. Pero me cuesta entenderlo y hacerlo bien. Especialmente cómo se calcula el tamaño real. ¿Hay alguna manera de obtener un valor porcentual (0..100%) de android:layout_weight
?
Pasé por algunos casos (ver captura de pantalla adjunta) para describir los problemas. Los campos de colores son todos <LinearLayout>
con android:layout_height="fill_parent"
, porque quiero que la pantalla completa se divida entre esos.
Caso 1
Esta bien simple Cada <LinearLayout>
obtiene el 33%.
Caso 2
¡¿UPS?! El primero (amarillo) <LinearLayout>
desaparece completamente? ¿Por qué?
Caso 3
Confundido de nuevo. El amarillo <LinearLayout>
está de vuelta. Sin embargo, los dos primeros <LinearLayout>
con el peso más pesado se hacen más pequeños? Que esta pasando?
Caso 4
No tengo la menor idea de cuáles son las matemáticas detrás de todo esto.
Cuando usas android: layout_height = "fill_parent" para las barras, no estás dejando ningún espacio disponible. (Ya que están llenando el padre). Debido a que los 3 están configurados para llenarse, la altura solicitada es en realidad 3 veces la altura del padre, por lo que los pesos se aplican a un espacio restante negativo. Esto explica el extraño comportamiento que está viendo, y por qué la solución layout_height a 0px lo resuelve.