Я работаю над простым приложением, которое использует MobX в качестве менеджера состояний. Это приложение имеет 2 основные темы:
- темный режим
- светлый режим
Я хочу, чтобы мое приложение переключалось между этими 2 темами во время выполнения, когда 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
обновлялась вся тема приложения и реагировала на нее, но она изменялась только при визуализации приложения в первый раз и не обновлялась при изменении магазина .
Есть идеи?