2009-08-01 2 views
37

Ho un LinearLayout (LL) verticale con altezza fissa (300px) 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 grande disappunto, la 3a LL viene espulsa con il secondo layout di riempimento del genitore fino in fondo. Come faccio a ottenere l'effetto desiderato perché voglio potenzialmente ridimensionare il contenitore esterno con la porzione centrale espande e si contrae per accogliere il cambiamentoAndroid LinearLayout fill-the-middle

risposta

63

Si rivelò (Grazie Mark Murphy for the answer) che tutto quello che cercavo era quello di impostare fila centrale a

layout_height = "0px" e layout_weight = "1"

Se, dopo tutto il wrap_content e gli elementi fissi dimensioni sono assegnati per lungo un asse (orizzontale o verticale), v'è ancora spazio su tale asse rimasto, LinearLayout quindi assegna il resto spazio a quei widget con pesi specificati, in proporzione al peso.

+0

grazie mille, ha funzionato bene – amithgc

+6

layout_weight solo per il 2 ° LL è la chiave qui. –

+0

Grazie mille per aver postato la risposta! – RobertoAllende