【发布时间】:2021-08-16 14:52:10
【问题描述】:
我正在寻找一种使用 Flutter 来检测操作系统暗模式是否处于活动状态的方法。我只希望我的应用程序遵循 OS 暗模式设置。我在谷歌上搜索过,大部分主题都是关于“设置和切换”暗模式,而不是检测操作系统的暗模式。
【问题讨论】:
-
问题的本质是一样的,但是在那个线程上,答案并不完美,不适用于旧手机(红屏错误)。幸好这次得到了可靠的答案。
我正在寻找一种使用 Flutter 来检测操作系统暗模式是否处于活动状态的方法。我只希望我的应用程序遵循 OS 暗模式设置。我在谷歌上搜索过,大部分主题都是关于“设置和切换”暗模式,而不是检测操作系统的暗模式。
【问题讨论】:
您可以使用platformBrightness 来检测操作系统的当前模式
bool isDarkMode() {
final darkMode = WidgetsBinding.instance.window.platformBrightness;
if (darkMode == Brightness.dark) {
return true;
} else {
return false;
}
}
【讨论】:
在你的构建方法中试试这个
var brightness = MediaQuery.of(context).platformBrightness;
bool darkModeOn = brightness == Brightness.dark;
【讨论】: