Flutter: использование свойства darkTheme не перестраивает виджет - PullRequest
0 голосов
/ 02 октября 2019

Когда я использую приведенный ниже код, я использую простую функцию, чтобы получить ThemeData, который мне нужен.

Я запускаю эмулятор с Android 10. Когда я включаю темный режим, приложениекажется, обновляется, но когда я открываю ящик ... incorrect, что происходит.

Это должно выглядеть примерно так: correct

  @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, ничего особенного.

Как видите, что-тоидет не так, и я подозреваю, что приложение не перестраивается. Было бы здорово, если бы кто-то мог мне помочь! Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...