diff --git a/lib/app_widget.dart b/lib/app_widget.dart index 92522a00..14f674a3 100644 --- a/lib/app_widget.dart +++ b/lib/app_widget.dart @@ -177,10 +177,12 @@ class _AppWidgetState extends State builder: (theme, darkTheme) { if (themeProvider.useDynamicColor) { themeProvider.setTheme( - ThemeData(colorScheme: theme), + ThemeData(colorScheme: theme, brightness: Brightness.light), oledEnhance - ? Utils.oledDarkTheme(ThemeData(colorScheme: darkTheme)) - : ThemeData(colorScheme: darkTheme), + ? Utils.oledDarkTheme(ThemeData( + colorScheme: darkTheme, brightness: Brightness.dark)) + : ThemeData( + colorScheme: darkTheme, brightness: Brightness.dark), notify: false, ); } diff --git a/lib/pages/init_page.dart b/lib/pages/init_page.dart index b169e4ca..ec9d46fd 100644 --- a/lib/pages/init_page.dart +++ b/lib/pages/init_page.dart @@ -124,6 +124,8 @@ class _InitPageState extends State { }, ); } else { + // Workaround for dynamic_color. dynamic_color need PlatformChannel to get color, it takes time. + // setDynamic here to avoid white screen flash when themeMode is dark. themeProvider.setDynamic( setting.get(SettingBoxKey.useDynamicColor, defaultValue: false)); Modular.to.navigate('/tab/popular/');