android-studio - 如何检测是否激活了夜间模式?
问题描述
我需要知道是否激活了夜间模式,使用布尔值或整数,我发现了一个布尔值,可以检测但它只能从 andorid R isnightmodeactive () 工作,我找不到另一种方法来知道夜间模式是否被激活,任何想法
我做了这个测试,但我像以前一样继续它没有抛出任何东西,我不知道如何知道我的设备处于什么模式,晚上或白天
public double isDark(int a) {
return a;
}
public void nightmode(){
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_YES){
isDark(1);
}else if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
isDark(2);
}
}
解决方案
谷歌它或在 developer.android.com 上搜索。我在 StackOverflow 上发现了一个类似的问题。这是该问题的 kotlin 代码
fun Context.isDarkThemeOn(): Boolean{
return resources.configuration.uiMode and
Configuration.UI_MODE_NIGHT_MASK == UI_MODE_NIGHT_YES
}
推荐阅读
- r - GGPLOT Facet Zoom 出于某种原因返回长度错误
- wordpress - 一些 Woocommerce 客户未显示在客户部分
- google-pay - 谷歌支付不允许使用 UPI ID 类型
- c++ - 无界背包与经典背包比较
- mongodb - MongoDB Atlas - 了解 Atlas GUI 和下载的日志文件之间的时间戳差异
- javascript - 函数不会运行
- url - 您是否会因在 CNAME 或 A rec 中输入错误而意外造成大量停机?
- javascript - 检测事件气泡中的元素
- amazon-web-services - 无法以正确的形式在 Hive 表中加载数据
- python - 这个变量不会改变