Мой основной файл внизу;
import 'package:flutter/material.dart';
import 'package:ajanda/screens/mainmenu.dart';
Future<void> main() async{
runApp(MaterialApp(
debugShowCheckedModeBanner: false, title: "Takvim", home: MainMenu()));
}
Файл главного меню внизу;
import 'package:ajanda/blocs/theme.dart';
import 'package:provider/provider.dart';
//const String testDevice = 'Mobile_id';
class MainMenu extends StatelessWidget {
MainMenu({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider<ThemeChanger>(
builder: (_) => ThemeChanger(ThemeData.dark()),
child: new MaterialAppWithTheme(),
);
}
}
class MaterialAppWithTheme extends StatelessWidget{
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MainMenuBody(),
);
}
}
class MainMenuBody extends StatefulWidget {
@override
_MainMenuBodyState createState() => _MainMenuBodyState();
}
class _MainMenuBodyState extends State<MainMenuBody> {
....
}
Я пытаюсь сделать темную тему, но у меня 2 ошибки, и я не могу решить причину, по которой был бы рад, если бы вы могли помочь. Я получаю такую ошибку в своей функции сборки. Тип аргумента «Функция виджета (BuildContext)» не может быть назначен типу параметра «Функция виджета (BuildContext, Widget)». Другая проблема, подобная этой ошибке: возвращаемый тип «ThemeChanger» не является «виджетом», как того требует контекст закрытия.
Файл Theme.dart внизу
import 'package:flutter/material.dart';
class ThemeChanger with ChangeNotifier{
ThemeData _themeData;
ThemeChanger(this._themeData);
getTheme() => _themeData;
setTheme(ThemeData theme){
_themeData= theme;
notifyListeners();
}
}