Как проверить, включен ли темный режим Android Q во Флаттере? - PullRequest
1 голос
/ 25 мая 2019

Как проверить, включен ли темный режим в Android Q с Флаттер ?
Я знаю, как установить темный режим, но я не нашел способапроверить фоновую тему.
Вот код для установки темной темы.

darkTheme: ThemeData.dark(),

Ответы [ 3 ]

2 голосов
/ 28 мая 2019

Я нашел способ. Вот оно.

  bool _darkModeEnabled = false;

  void _checkIfDarkModeEnabled() {
    final ThemeData theme = Theme.of(context);
    theme.brightness == appDarkTheme().brightness
        ? _darkModeEnabled = true
        : _darkModeEnabled = false;
  }
1 голос
/ 25 мая 2019

Вы можете проверить это, используя MediaQuery.

var brightness = MediaQuery.of(context).platformBrightness;
if (brightness == Brightness.dark)
  print("Dark mode");
else
  print("Normal mode");
0 голосов
/ 26 мая 2019

Если вы определите темную тему в своем MaterialApp, ваше приложение автоматически погаснет, когда будет включена темная тема Android Q.Вы должны указать свою темную тему следующим образом:

MaterialApp(
  theme: ThemeData(
    brightness: Brightness.light,
    primaryColor: Colors.red,
  ),
  darkTheme: ThemeData(
    brightness: Brightness.dark,
  ),
);

Согласно этой средней статье ,

Теперь, когда вы переключаете Темную тему в системном ящикеваше приложение Flutter автоматически переключится с обычной темы на вашу darkTheme!

Однако, если вы хотите вручную проверить, находитесь ли вы в темном режиме, вы можете легко написать метод с помощью Platform Channel.API.Подробнее здесь .Что касается собственного кода, проверьте здесь .

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