Flutter:使用darkTheme属性不会重建小部件

时间:2019-10-02 00:51:54

标签: android flutter android-dark-theme

使用下面的代码时,我使用一个简单的函数来获取所需的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类型,没什么特别的。

如您所见,出现了问题,我怀疑该应用程序没有重建。如果有人可以帮助我,那就太好了! 如果需要更多信息,请告诉我。

0 个答案:

没有答案