Я настраиваю систему, в которой когда пользователь меняет системную тему на темный режим, он меняет тему, а с Flutter все работает хорошо! Однако, когда пользователь меняет системную тему, системная навигация и строка состояния не изменяют свои цвета. У меня есть код, работающий на домашней странице внутри метода сборки, но, похоже, он этого не делает. Вот код внутри метода построения домашней страницы:
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
Brightness sysBrightness = MediaQuery.of(context).platformBrightness;
if (sysBrightness == Brightness.dark)
Themes.setDarkSystemColors();
else
Themes.setLightSystemColors();
return Scaffold(
appBar: CustomAppBar(title: "Home"),
drawer: CustomDrawer(),
body: SizedBox(),
);
}
}
Вот код в основном приложении с theme:
и darkTheme:
:
return MaterialApp(
initialRoute: '/',
routes: routes,
navigatorObservers: [_routeObserver],
theme: Themes.lightTheme,
darkTheme: Themes.darkTheme,
debugShowCheckedModeBanner: false,
title: 'School Life',
);