Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Largura do child de um ElevatedButton

Olá,

Estou com uma dúvida no projeto da parte 1 da formação Flutter.

Quando vou criar o botão "UP" para aumentar o nível da tarefa, como eu determino o tamanho do child do botão (no caso seria o Icon e o Text que estão dentro de um Column)?. Eles ficam ocupando apenas 12 de largura dos 60 que o ElevatedButton possui. Já tentei com um SizedBox para determinar a largura, porém não obtive sucesso.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Oi Willian, tudo bem?

Pelo que entendi, você está tentando fazer com que o conteúdo do seu botão (o child) ocupe mais espaço dentro do próprio botão, correto? No Flutter, o child de um widget não preenche automaticamente todo o espaço disponível, a menos que seja instruído a fazê-lo.

Uma solução possível seria envolver o seu Column (que é o child do botão) com um widget chamado Expanded. O widget Expanded faz com que o seu child ocupe todo o espaço disponível na direção principal do Flex parent (no caso, o ElevatedButton).

Seu código ficaria mais ou menos assim:

ElevatedButton(
  style: ButtonStyle(
    fixedSize: MaterialStateProperty.all(Size(60, 60)),
  ),
  onPressed: () {},
  child: Expanded(
    child: Column(
      children: <Widget>[
        Icon(Icons.arrow_upward),
        Text('UP'),
      ],
    ),
  ),
)

Lembre-se de que a solução pode variar dependendo do restante do seu código e do comportamento exato que você deseja alcançar. Esta é apenas uma sugestão baseada no que você compartilhou.

Um abraço e bons estudos.