1
resposta

Modificar tamanho de botão sem usar Widget Padding?

Existe uma forma mais elegante de se editar o tamanho de um botão sem ser usando o Widget Padding, como no código abaixo?

Padding(
            padding: const EdgeInsets.fromLTRB(128.0, 8.0, 128.0, 8.0),
            child: ElevatedButton(
              child: Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  Icon(Icons.add),
                  Text('Confirm'),
                ],
              ),
            ),
          ),

Queria saber se consigo fazer a alteração do tamanho diretamente no Widget ElevatedButton, deixando o código mais limpo.

Att.

1 resposta

Oi Rhuan!

Tem sim! Muito bom que você tem essa preocupação de limpeza e elegância de código, é bem importante!

Saca, o "ElevatedButton" tem o parâmetro "style", nele você pode passar a classe ButtonStyle, e essa classe tem MUITAS opções de customização do botão!

Lá há parâmetros como o próprio padding, o fixedSize, o minimumSize que podem te ajudar a deixar o botão do jeitinho que você quiser.

A imagem mostra o widget ElevatedButton com a classe ButtonStyle expandida mostrando várias opções

A sua melhor amiga nessa situação é a Documentação! (que de Flutter é um amorzinho!)

E ah! Desde o Flutter 2.0 você pode se deparar com o MaterialStateProperty, que também tem uma documentação (não tão incrível, admito). Caso você queira só passar o valor direto, basta fazer:

MaterialStateProperty.all(<valor aqui>)

No seu caso, seria algo como:

ElevatedButton(
            onPressed: () {},
            child: Text(<titulo>),
            style: ButtonStyle(minimumSize: MaterialStateProperty.all(Size(<largura>,<altura>))),
          ),

Espero que tenha ajudado! E qualquer coisa estamos aqui para te ajudar! Sempre pergunte!