2
respostas

colorScheme não funciona

Percebi que o flutter descontinuou o uso de primaryColor e accentColor, utilizando agora o colorScheme. Mas ao tentar implementar o colorScheme no código para ficar da mesma maneira que a apresentada durante o curso, não tive sucesso.

Código com o novo padrão:

theme: ThemeData(
        colorScheme: ColorScheme.fromSwatch(
          primarySwatch: Colors.green,
        ).copyWith(
          secondary: Colors.blueAccent,
        ),
        ),

Resultado na simulação: Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Sabe se o código está implementado errado?

Obrigada.

2 respostas

Olá, acredito que o código tenha q ser corrigido na versão nova para algo assim:

@override Widget build(BuildContext context) { return MaterialApp( theme: ThemeData( colorScheme: ColorScheme.fromSwatch( primarySwatch: Colors.green, ).copyWith(secondary: Colors.blueAccent[700]), elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( primary: Colors.blueAccent[700], )), buttonTheme: ButtonThemeData( buttonColor: Colors.blueAccent[700], textTheme: ButtonTextTheme.normal), ), home: ListaTransferencia(), ); } }

Acho que no commit está faltando o ajuste do tema do ElevatedButton

É isso mesmo Flavio.

Mas mesmo com esse código corrigido, não é possível colocar exatamente a mesma cor que está no leiaute definido.

Isso pq na última versão do Flutter, o primarySwatch só aceita um MaterialColor.

Então, não dá pra fazer Colors.green[900]. Somente Colors.green.

Já no secondary, dá pra usar Colors.blueAccent[700].

Tem esse texto que mostra como fazer: https://medium.com/@morgenroth/using-flutters-primary-swatch-with-a-custom-materialcolor-c5e0f18b95b0