В моем MaterialApp
я использую свойства theme
и darkTheme
, чтобы он мог использовать преимущества, когда пользователь переключает свою глобальную тему устройства. Тем не менее, я сталкиваюсь с проблемой, когда строка состояния и панель навигации не меняются, когда пользователь переключает темы. Я использую систему маршрутов, поэтому у меня нет ничего в моем свойстве home
, у меня просто есть initialRoute
.
У меня есть код, подобный этому на начальной странице маршрута:
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Builder(builder: (BuildContext context) {
final MediaQueryData mediaQuery = MediaQuery.of(context);
if (mediaQuery.platformBrightness == Brightness.dark) {
Themes.setDarkSystemColors();
} else {
Themes.setLightSystemColors();
}
return Scaffold(
appBar: CustomAppBar(title: "Home"),
drawer: CustomDrawer(),
body: SizedBox(),
);
});
}
}
Но это работает только когда я перезагружаю приложение и когда меняю темы, оно не работает. Я знаю, что мне, вероятно, придется перестроить MaterialApp
, но я не знаю, как это сделать. Я думал, может быть, InheritedWidget
, но я не знаю. Было бы здорово, если бы кто-нибудь мог мне помочь.