Flutter corrigir 'The getter accentColor isn't defined for the class ThemeData'
A causa mais provável desse erro é uma atualização do Flutter (flutter upgrade) que gerou alguma incompatibilidade com o seu código ou com as dependências do projeto. A propriedade Theme.of(context).accentColor está obsoleta desde o Flutter 1.17 e foi totalmente removida da versão atual, daí o erro. O que usar no lugar Ou, se...
Error: The getter 'accentColor' isn't defined for the class 'ThemeData'.
- 'ThemeData' is from 'package:flutter/src/material/theme_data.dart' ('/C:/flutter/packages/flutter/lib/src/material/theme_data.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'accentColor'.
themeData.textTheme.headline5?.copyWith(color: themeData.accentColor);
A causa mais provável desse erro é uma atualização do Flutter (flutter upgrade) que gerou alguma incompatibilidade com o seu código ou com as dependências do projeto.
A propriedade Theme.of(context).accentColor está obsoleta desde o Flutter 1.17 e foi totalmente removida da versão atual, por isso o erro.
O que usar no lugar
Theme.of(context).colorScheme.secondary
Ou, se você está configurando a aparência de componentes do material:
final ThemeData theme = ThemeData();
MaterialApp(
theme: theme.copyWith(
colorScheme: theme.colorScheme.copyWith(secondary: myColor),
),
)
Se o problema está nas dependências do projeto
O erro pode não vir do seu código, mas de uma das dependências do projeto, como material, por exemplo. Nesse caso, tente atualizar as dependências.
flutter pub upgrade
Isso atualiza as dependências dentro dos limites do seu pubspec.yaml. Se você precisa quebrar esses limites (por exemplo, ir para uma nova major), faça:
flutter pub upgrade --major-versions
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.