我在搭建一个系统,当用户将系统主题更改为深色模式时,它可以更改主题。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',
);
onPlatformBrightnessChanged
方法后,主题不会自动更改。如何还能添加一个方法来改变应用程序的主题? - Rehmat Singh Gill