Когда я использую приведенный ниже код, я использую простую функцию, чтобы получить ThemeData
, который мне нужен.
Я запускаю эмулятор с Android 10. Когда я включаю темный режим, приложениекажется, обновляется, но когда я открываю ящик ... , что происходит.
Это должно выглядеть примерно так:
@override
Widget build(BuildContext context) {
return MaterialApp(
initialRoute: '/',
routes: routes,
theme: CustomTheme.of(context),
darkTheme: Themes.getThemeFromKey(ThemeKeys.DARK),
themeMode: ThemeMode.dark,
debugShowCheckedModeBanner: false,
title: 'School Life',
);
}
Вот функция, которую я использую для получения темы.
static ThemeData getThemeFromKey(ThemeKeys themeKey) {
switch (themeKey) {
case ThemeKeys.LIGHT:
setLightSystemColors(); //nothing special, just sets statusbar and navbar colors
return lightTheme;
break;
case ThemeKeys.DARK:
setDarkSystemColors();
return darkTheme;
break;
case ThemeKeys.BLACK:
setBlackSystemColors();
return blackTheme;
break;
default:
setLightSystemColors();
return lightTheme;
}
}
Тема имеет тип static final ThemeData
, ничего особенного.
Как видите, что-тоидет не так, и я подозреваю, что приложение не перестраивается. Было бы здорово, если бы кто-то мог мне помочь! Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.