【问题标题】:Night mode color values not applying to recycler view items夜间模式颜色值不适用于回收站视图项目
【发布时间】:2021-01-05 03:07:02
【问题描述】:

我为我的应用实现了暗模式。在设置中可以设置。然后它从 sharedprefs 加载您的选项并使用 AppCompatDelegate.setDefaultNightMode 应用它。我为此创建了一个函数,我在每个活动开始时都会调用它。

fun setAppTheme(context: Context) {
      AppCompatDelegate.setDefaultNightMode(when(PreferenceManager.getDefaultSharedPreferences(context).getString("theme", "default")) {
        "light" -> AppCompatDelegate.MODE_NIGHT_NO
        "dark" -> AppCompatDelegate.MODE_NIGHT_YES
        "default" -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
        else -> AppCompatDelegate.MODE_NIGHT_YES
    })
}

当我将其设置为跟随系统时效果很好,所有颜色都正确,但是当我将其设置为强制夜间模式并将系统模式更改为亮时,回收站视图项目都是亮的(应该是暗的!)

我阅读了thisthis,尝试使用所有不同的上下文,但没有任何帮助。

【问题讨论】:

    标签: android kotlin android-night-mode


    【解决方案1】:

    我想通了。问题是我在主要活动中的super.onCreate() 之前调用了函数setAppTheme。我的错。现在可以了:

    ...
    override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setAppTheme(this)
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 2019-05-22
      • 1970-01-01
      相关资源
      最近更新 更多