代码之家  ›  专栏  ›  技术社区  ›  Ton

按代码切换Android中的夜间照明模式

  •  0
  • Ton  · 技术社区  · 5 年前

    可以在安卓系统中激活夜光模式吗? 我正在开发一个自动化应用程序,根据用户情况,我需要激活夜间模式。 这是不同的调用取决于供应商(同样,android不是很标准)如蓝色过滤器,或阅读模式。 我在网上找不到编码这个的地方。

    我看到这个了 link 但我不明白。我需要一个这样的函数:

    public void setNightMode(Context target , boolean state){
    
        if (state) {
            //Enable Blue Light Filter
        } else {
            //Disable Blue Light Filter
        }
    
    }
    
    1 回复  |  直到 5 年前
        1
  •  0
  •   Ganesh Kanna    5 年前

    是的,您可以根据您的应用程序偏好设置模式例如下面的代码将设置夜间模式

    val mode = AppPreference.getInt(AppPreference.PREF_KEY_THEME, Theme.MODE_DAY)
        when (mode) {
            Theme.MODE_DAY -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
            Theme.MODE_NIGHT -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
            Theme.MODE_AUTO -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO)
        }
    

    您可以按照如图所示的目录结构进行操作。 enter image description here

    从这些颜色值可以为背景和字体提供不同的颜色。即使你可以有不同的夜间模式风格。

    推荐文章