android - Theme.AppCompat.DayNight 不适用于 Android Lollipop

标签 android android-appcompat android-theme

在我的应用中,我尝试使用 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/

相关文章:

android - 如何使用 JNI 将 C++ 文件集成到 Android 应用程序中

android - 我在 Android Studio 中使用 ActionBarActivity 有一些问题

android - 如何使用样式全局更改 AlertDialog 上的按钮文本颜色?

android - 在一个主题中组合颜色

android - 操作栏后退按钮在 android 中不起作用

php - 使用 Android 将 Http 发布到服务器 json

android - 抽屉导航内项目的字体大小没有改变

android - DrawableCompat setTint 为所有具有相同 id 的新 Drawable 着色

android - 使用 appcompat v21 更改 actionOverflowButtonStyle

android - ?attr/在Android上是什么意思?