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.