Темный режим iOS Flutter не меняется мгновенно

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

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

Переключатель флаттера  светлый темный режим

На данный момент я использую тему приложения материала по умолчанию

main.dart

@override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: AppTheme.lightTheme,
      darkTheme: AppTheme.darkTheme,
      home: HomeWidget()
    );
  }

AppTheme.dart

class AppTheme {

  AppTheme._();

  static final ThemeData lightTheme = ThemeData(
      canvasColor: Colors.transparent,
      scaffoldBackgroundColor: Colors.grey.shade100,
      textTheme: TextTheme(
          bodyText1: TextStyle(color: Colors.black),
          caption: TextStyle(color: Colors.grey.shade700),
          headline6: TextStyle(color: Colors.black)
      ),
      iconTheme: IconThemeData(
          color: Colors.black
      ),
      appBarTheme: AppBarTheme(brightness: Brightness.light),
      brightness: Brightness.light
  );

  static final ThemeData darkTheme = ThemeData(
      canvasColor: Colors.transparent,
      scaffoldBackgroundColor: Color(0xff111215),
      textTheme: TextTheme(
          bodyText1: TextStyle(color: Color(0xffd0d2d4)),
          caption: TextStyle(color: Color(0xff717579)),
          headline6: TextStyle(color: Color(0xffd0d2d4))
      ),
      iconTheme: IconThemeData(
          color: Color(0xff9aa0a6)
      ),
      appBarTheme: AppBarTheme(brightness: Brightness.light),
      brightness: Brightness.light
  );
}

person FadhliS    schedule 09.03.2020    source источник
comment
Я не уверен, но думаю, что на данном этапе нет способа избежать этого, потому что флаттер не ищет изменений, когда центр управления открыт, потому что он работает в фоновом режиме.   -  person Josep Bové    schedule 09.03.2020


Ответы (1)


Вы проверяете это в режиме отладки или в режиме выпуска. Если вы проверяете его в режиме отладки, просто проверьте его в режиме выпуска (режим отладки работает немного медленно).

Сообщите мне, если это сработает

person Sagar Acharya    schedule 09.03.2020