質問: Estou criando uma calculadora para android apenas com as funções básicas mesmo. Para isso estou escrevendo o código do Layout diretamente em XML, no entanto não consigo fazer com que os botões cresçam e ocupem a tela tanto ao virar o dispositivo quanto a ele normal estou a horas nisso.. Bem segue o código. ``` ``` Print do Layout atual. !Print do Layout Atual Eu gostaria de deixar algo parecido com essa. !Print do Layout Desejado
回答: Havia um pequeno problema em seu `Layout`. Estava definindo sua `TableRow` sem o atributo `layout_width`, logo ele assumia como `wrap_content`, e estava usando o `layout_height` com `fill_parent`, que não funciona nesse caso. Fiz as seguintes adaptações: 1. Troquei todos os `fill_parent's` para `match_parent`, porque ele foi depreciado, não muda nada, mas pode ser que em versões mais novas não funcione mais. 2. Dei pesos para suas linhas e deixei com altura dinâmica, usando o atributo `layout_weight` sendo `1` e `layout_height` sendo para cada linha. Assim ele vai dividir a altura `0dp`. Assim toda altura do `TableLayout` vai ser dividida entre suas linhas de forma igual. Se adicionar mais linhas, não esqueça de atualizar o `weightSum`. 3. Coloquei seus `TextView's` ocupando todo espaço disponível para ele, usando o `layout_width` como `0dp` e `layout_height` sendo `match_parent`, e o mais importante o `layout_weight` como `1`. Assim ele distribui homogeneamente o espaço entre os `TextView's`. 4. Cuidado com o `btn=`, vai gerar erro ao compilar seus *resources*, use `btnEq` por exemplo. Ao final seu layout ficará: ``` ``` O resultado deve ser: !Resultado da alteração no layout