Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Ícones e botão não estão com temas aplicados

Olá!

Meu aplicativo não apresentou o mesmo aspecto visual mostrado na aula, não modificando as cores dos ícones e a cor do botão "Confirmar" (mesmo fazendo as alterações usando o ButtonThemeData, não modificou em nada e por isso retirei do meu código). O meu código está assim :

class BytebankApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primaryColor: Colors.lightGreen[600],
        accentColor: Colors.green[900],
      ),
      home: ListaTransferencias(),
    );
  }
}

E o aplicativo está assim:

Página criando transferência

Edit: dando uma navegada no fórum, consegui ajuda e consertei a cor do botão "Confirmar", mas ainda estou com o problema das cores dos ícones. O código referente a mudança e o app ficaram assim:

elevatedButtonTheme: ElevatedButtonThemeData(
          style: TextButton.styleFrom(
            backgroundColor: Colors.green[900],
          )
        ),

Botão confirmar

2 respostas
solução!

Oi João!

Vamos por partes! :)

O buttonTheme: ButtonThemeDatapadroniza apenas os RaisedButton, que como você deve saber, se tornou legado desde o recente Flutter 2.0. Para padronizar os récem chegados ElevatedButton você deve usar o elevatedButtonTheme: ElevatedButtonThemeData, como você mostrou! Então perfeito seu uso do fórum!

Sobre os ícones, as cores, o texto no TextField, ou TextFormField, você pode usar o primarySwatch, passando um MaterialColor para ele. Caso você queira ser detalhista e padronizar cada aspecto dos Text(Form)Field, você pode usar o inputDecorationTheme: InputDecorationTheme().

No final, ficamos com algo tipo isso:

theme: ThemeData(
        primaryColor: Colors.lightGreen[600],
        accentColor: Colors.green[900],
        primarySwatch: Colors.green,
        elevatedButtonTheme: ElevatedButtonThemeData(
          style: ButtonStyle(
            backgroundColor: MaterialStateProperty.all(Colors.green),
          ),
        ),
      ),

Para saber mais
A documentação é sempre nossa amiga! Segue os links que eu usei na pesquisa:
Mudanças nos Botões no Flutter 2
Criando uma Material Color personalizada para o PrimarySwatch
InputDecorationTheme

Espero ter ajudado! Siga firme nos estudos, e se precisar de alguma coisa, estamos aqui!

Que legal, Ricarth :)

Muito obrigado pela resposta, ajudou demais!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software