我使用的是内置日间/夜间模式功能的 Android,我想向我的应用添加一个 AppCompatDelegate.MODE_NIGHT_AUTO
选项
我遇到了问题,因为我的应用程序需要以编程方式对某些内容进行着色,并且我不知道如何检查应用程序是否认为自己处于夜间或白天模式。如果没有它,我就无法设置标志来选择正确的颜色。
调用AppCompatDelegate.getDefaultNightMode()
只会返回AppCompatDelegate.MODE_NIGHT_AUTO,这是无用的。
我没有看到任何其他信息可以告诉我,但一定有什么东西?
最佳答案
int nightModeFlags =
getContext().getResources().getConfiguration().uiMode &
Configuration.UI_MODE_NIGHT_MASK;
switch (nightModeFlags) {
case Configuration.UI_MODE_NIGHT_YES:
doStuff();
break;
case Configuration.UI_MODE_NIGHT_NO:
doStuff();
break;
case Configuration.UI_MODE_NIGHT_UNDEFINED:
doStuff();
break;
}
关于Android - 使用 AppCompatDelegate.MODE_NIGHT_AUTO 时如何检测夜间模式是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57054266/