status bar color change depend on theme

This commit is contained in:
DASHU
2025-01-21 22:25:24 +08:00
parent 4019e7fb78
commit a67ffdc145

View File

@@ -160,14 +160,17 @@ class _MyApp extends State<MyApp> {
} }
} }
Brightness? statusBarIconBrightness;
var lightTheme = getLightTheme(); var lightTheme = getLightTheme();
var darkTheme = getDarkTheme(); var darkTheme = getDarkTheme();
ThemeData defaultTheme; ThemeData defaultTheme;
ThemeData? defaultDarkTheme; ThemeData? defaultDarkTheme;
if (settingProvider.themeStyle == ThemeStyle.LIGHT) { if (settingProvider.themeStyle == ThemeStyle.LIGHT) {
defaultTheme = lightTheme; defaultTheme = lightTheme;
statusBarIconBrightness = Brightness.dark;
} else if (settingProvider.themeStyle == ThemeStyle.DARK) { } else if (settingProvider.themeStyle == ThemeStyle.DARK) {
defaultTheme = darkTheme; defaultTheme = darkTheme;
statusBarIconBrightness = Brightness.light;
} else { } else {
defaultTheme = lightTheme; defaultTheme = lightTheme;
defaultDarkTheme = darkTheme; defaultDarkTheme = darkTheme;
@@ -189,7 +192,10 @@ class _MyApp extends State<MyApp> {
}; };
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle( SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
systemNavigationBarColor: lightTheme.scaffoldBackgroundColor, systemNavigationBarColor: defaultTheme.scaffoldBackgroundColor,
systemNavigationBarIconBrightness: statusBarIconBrightness,
statusBarColor: defaultTheme.scaffoldBackgroundColor,
statusBarIconBrightness: statusBarIconBrightness,
)); ));
return MultiProvider( return MultiProvider(