Android LinearLayout fill-the-middle
-
06-07-2019 - |
Domanda
Ho un'altezza verticale impostata (300px) LinearLayout (LL) con 3 LL nidificati. 1 e 3 ° sono impostati con Android: layout_height = " wrap_content " e quello centrale con Android: layout_height = " fill_parent " ;. Con mio sgomento, la terza LL viene espulsa con la seconda che riempie il layout del genitore fino in fondo. Come posso ottenere l'effetto desiderato poiché desidero potenzialmente ridimensionare il contenitore esterno con la parte centrale che si espande e si contrae per adattarsi al cambiamento
Soluzione
Si è scoperto (Grazie Mark Murphy per la risposta ) che stavo solo cercando di impostare la riga centrale su
layout_height = " 0px " e layout_weight = " 1 "
Se, dopo tutto, vengono allocati tutti gli articoli di wrap_content e di dimensione fissa lungo un asse (orizzontale o verticale), c'è ancora spazio su quell'asse lasciato, LinearLayout alloca quindi lo spazio rimanente a quelli widget con pesi specifici, in proporzione al peso.