我正在开发一个使用 MobX 作为状态管理器的简单颤振应用程序。这个应用程序有两个主题:
- 黑暗模式
- 灯光模式
当 MobX 商店状态发生变化时,我希望我的应用程序在运行时在这两个主题之间切换。这是我的 main.dart:
void main() => runApp(MyApp());
final appStore = new AppStore();
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'my app',
theme: getThemeData(appStore.isDarkMode),
home: MyHomePage(appStore: appStore),
);
}
getThemeData(bool isDarkMode) {
if (isDarkMode) {
return ThemeData(
brightness: Brightness.dark,
primarySwatch: Colors.blue,
fontFamily: 'Sumsung-sharp-sans');
} else {
return ThemeData(
brightness: Brightness.light,
primarySwatch: Colors.blue,
fontFamily: 'Sumsung-sharp-sans');
}
}
}
我希望appStore.isDarkMode
用户何时更改整个应用程序主题更新并做出反应,但它只会在第一次应用程序渲染时更改,并且在商店更改时不会自行更新。
任何想法?