DayNight主题始终显示夜间主题

时间:2016-02-26 04:38:07

标签: android android-support-library

我创建了一个新项目,其中只包含一个使用新日/夜主题的非常简单的活动。 即使在应用程序类的静态块中调用AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);并在活动中调用getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);,活动也会显示夜间主题。 我已经在活动上设置了一个断点,并报告了UI模式是晚上的情况,所以我不知道它为什么拒绝显示日期主题。

我正在编译/目标API 23并在运行Marshmallow的Nexus 5上进行测试

2 个答案:

答案 0 :(得分:1)

您还需要致电yourAppCompatActivity.getDelegate().applyDayNight();

答案 1 :(得分:1)

https://code.google.com/p/android/issues/detail?id=201910。这将在23.2.1修正版中修复。

现在,您可以通过调用

强制使用Activity.onCreate()中的新配置重新应用主题
getTheme().applyStyle(R.style.Theme_AppCompat_<whatever>, true);

其中<whatever>是您在该活动中使用的主题。更新到23.2.1后,您将不需要此解决方法。