LinearLayout Android fill-the-middle
-
06-07-2019 - |
Pergunta
eu tenho uma altura vertical, set (300px) LinearLayout (LL) com LL 3 aninhada. 1 e 3 são definidos com android: layout_height = "wrap_content" e o do meio com android: layout_height = "fill_parent". Para meu espanto, 3º LL é empurrado para fora com o layout pai 2º enchimento caminho certo para o fundo. Como faço para conseguir o efeito desejado desde que eu quero potencialmente redimensionar o recipiente exterior com a porção média expandindo e contraindo para acomodar a alteração
Solução
Acabou (Graças Mark Murphy para a resposta ) que tudo o que eu estava procurando era para definir linha do meio para
layout_height = "0px" e layout_weight = "1"
Se, depois de todos os itens do wrap_content e de tamanho fixo são alocados para ao longo de um eixo (horizontal ou vertical), há ainda espaço em que o eixo sobra, LinearLayout seguida, aloca o espaço restante àqueles widgets com pesos especificados, em proporção ao peso.