Quello che voglio è avere un layout con 2 viste disposte verticalmente. Chiamiamo la vista superiore A e quella inferiore B. Voglio che la quantità di altezza data a B sia la sua altezza normale (cioè il contenuto di avvolgimento) eccetto che non voglio che sia dato più della metà dello spazio disponibile. A ottiene ciò che è rimasto.altezza wrap_content, ma limitata alla metà del genitore
Un altro modo per dire che A dovrebbe sempre ottenere almeno il 50% dell'altezza disponibile e B dovrebbe ottenere al massimo il 50%.
Non riesco a trovare un modo semplice per raggiungere questo obiettivo. Posso impostare entrambe le altezze di layout su 0 e dare loro pesi uguali che li rendono entrambi sempre al 50%, ma se B è inferiore al 50% dovrebbe essere dato solo ciò di cui ha bisogno.
L'unico modo che posso vedere è utilizzare una classe personalizzata per A o B e sovrascrivere su Misura per limitare l'altezza al 50% del genitore, ma sembra che ci dovrebbe essere un modo più semplice.
Quindi, qual è l'input per definire quanto dovrebbe essere grande B? È possibile creare un layout dinamico nel codice ([LayoutParam di riferimento Android] (http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html)). – MarchingHome
L'input per determinare quanto dovrebbe essere grande B è il contenuto di B. B è un layout (attualmente un frammento) che contiene alcuni contenuti a dimensione fissa ma la maggior parte è un TextView il cui contenuto è dinamico. Potrebbe essere qualche riga di testo o una lunga pagina di testo. Se il testo in B è lungo e B è vincolato al 50%, il testo sarà scorrevole. –
Hai cercato un modo per determinare quante righe di testo saranno in B e regolando dinamicamente l'altezza di B in base a quella? – MarchingHome