Следуя этому руководству. https://itnext.io/app-theming-in-flutter-dark-mode-light-mode-27d9adf3cee
void main() {
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
runApp(
ChangeNotifierProvider<AppStateNotifier>(
builder: (context) => AppStateNotifier(), //<--COMPILER ERROR, details below.
child: MyApp(),
),
);
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return Consumer<AppStateNotifier>(
builder: (context, appState, child) {
return MaterialApp(
title: 'Lockify',
debugShowCheckedModeBanner: false,
theme: AppTheme.lightTheme,
darkTheme:
AppTheme.darkTheme,
home: MyHomePage(),
themeMode: appState.isDarkModeOn ? ThemeMode.dark : ThemeMode.light,
);
},
);
}
}
ОШИБКА: сообщение компилятора: lib / main.dart: 16: 29: Ошибка: значение типа «AppStateNotifier» не может быть присвоено переменной типа 'Widget'.
- 'AppStateNotifier' из 'package: lockify / appstatenotifier.dart' ('lib / appstatenotifier.dart').
- 'Widget' из 'пакет: flutter / src / widgets / framework.dart' ('../../Developer/flutter/packages/flutter/lib/src/widgets/framework.dart'). Builder: (context) => AppStateNotifier (),
lib / main.dart: 16: 16: Ошибка: тип аргумента «Функция виджета (BuildContext)» не может быть назначен параметру type 'Функция виджета (BuildContext, Widget)'.
- 'Виджет' взят из 'package: flutter / src / widgets / framework.dart' ('../../Developer/flutter/ packages / flutter / lib / src / widgets / framework.dart ').
- ' BuildContext 'взят из' package: flutter / src / widgets / framework.dart '(' ../../Developer/ flutter / packages / flutter / lib / src / widgets / framework.dart '). построитель: (контекст) => AppStateNotifier (),