Я ищу способ определить, активен ли темный режим ОС, используя Flutter. Я просто хочу, чтобы мое приложение соответствовало настройке темного режима ОС. Я погуглил, и большинство тем посвящено настройке и переключению темного режима, а не обнаружению темного режима ОС.
Определить, активен ли темный режим ОС
comment
возможен дубликат? stackoverflow.com/questions/56304215/
- person Noor Wachid   schedule 28.05.2021
comment
суть вопроса та же, но на той ветке ответ не идеальный, не работает со старым телефоном (ошибка красного экрана). к счастью, на этот раз я получил надежный ответ.
- person John King   schedule 28.05.2021
Ответы (2)
Вы можете использовать platformBrightness
для определения текущего режима ОС
bool isDarkMode() {
final darkMode = WidgetsBinding.instance.window.platformBrightness;
if (darkMode == Brightness.dark) {
return true;
} else {
return false;
}
}
person
Hemal
schedule
28.05.2021
Спасибо, ваше решение работает отлично. Я пробовал это на старом телефоне и на новом телефоне. В старом телефоне ОС не поддерживает темный режим, он возвращает false, что правильно.
- person John King; 28.05.2021
Попробуйте это внутри вашего метода сборки
var brightness = MediaQuery.of(context).platformBrightness;
bool darkModeOn = brightness == Brightness.dark;
person
Indrajit Sharma
schedule
28.05.2021
Спасибо за ваш ответ, но похоже, что со старым телефоном не работает ОС, которая не поддерживает темный режим, выдает ошибку красного экрана.
- person John King; 28.05.2021