在我的应用中,我尝试使用 uiModeManager.setNightMode(UiModeManager.MODE_NIGHT_YES)
更改主题(浅色/深色)。
它在装有 Android 6 的 Nexus 5 上完美运行,在装有 Android 6 的模拟器上运行,但在装有 Android 5.1 的模拟器上无法运行。
为什么?
我也尝试过 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
但是在 Android 6 上它只改变了菜单主题(?)而在 Android 5 上无论如何都不起作用..
我不认为这是主题的问题,但这是我的代码:
<style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
</style>
最佳答案
使用
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
在应用程序的 onCreate 方法中。
关于android - Theme.AppCompat.DayNight 不适用于 Android Lollipop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35802871/