Flutter 'The getter accentColor isn't defined for the class ThemeData' を直す
このエラーの最も多い原因は、Flutter のアップグレード (flutter upgrade) によって、既存のコードやプロジェクトの依存関係との互換性が失われたことです。Theme.of(context).accentColor プロパティは Flutter 1.17 から非推奨で、現行バージョンでは完全に削除されたため、このエラーが出ます。代わりに何を使うか もしくは...
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);
このエラーの最も多い原因は、Flutter のアップグレード (flutter upgrade) によって、既存のコードやプロジェクトの依存関係との互換性が失われたことです。
Theme.of(context).accentColor プロパティは Flutter 1.17 から非推奨 で、現行バージョンでは完全に削除されました。だから今このエラーが出ているわけです。
代わりに何を使うか
Theme.of(context).colorScheme.secondary
もしくは、material コンポーネントの外観を設定する場合:
final ThemeData theme = ThemeData();
MaterialApp(
theme: theme.copyWith(
colorScheme: theme.colorScheme.copyWith(secondary: myColor),
),
)
問題がプロジェクトの依存関係にある場合
エラーは自分のコードからではなく、material などのプロジェクトの依存関係から出ていることもあります。その場合は、依存関係の更新を試してみましょう。
flutter pub upgrade
これで pubspec.yaml の制約の範囲内で依存関係が更新されます。その制約を超えたい (たとえばメジャーバージョンを上げたい) 場合は、次のようにします。
flutter pub upgrade --major-versions
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.