我想在boolean改变时改变主题,我已经改变了boolean的值但是为什么主题没有改变
输出打印
false
true
true
false
false
true
布尔值已经改变,但主题没有改变
这是我的语法,有什么解决方案或替代方案吗?
main.dart
import 'global.dart' as global;
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
....
theme: global.modetheme
? ThemeData(primaryColor: Colors.white)
: ThemeData.dark(),
....
);
}
}
global.dart
library myproject.global;
bool modetheme = false;
drawer.dart
import 'global.dart' as global;
SwitchListTile(
value: global.modetheme,
onChanged: (bool value) {
setState(() {
global.modetheme = value;
print(global.modetheme);
});
},
)