В моем приложении я попытался изменить тему (светло-темную) с помощью uiModeManager.setNightMode(UiModeManager.MODE_NIGHT_YES)
.
Он отлично работает на моем Nexus 5 с Android 6 и на эмуляторе с Android 6, но он не работает на эмуляторе с Android 5.1.
Почему?Theme.AppCompat.DayNight не работает на Android Lollipop
Я также попытался с 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>
В моих тестах я узнал, что он работает для версий Release, но не для отладочных сборников. Может быть, это немного багги. – Francesc
Mh .. Нет .. Я подписал и создаю apk release, но не работает на Lollipop. Вы используете 'uiModeManager.setNightMode (UiModeManager.MODE_NIGHT_YES)'? –
Я использую это, исходя из моего общего значения предпочтений (это в моем методе Application onCreate): AppCompatDelegate.setDefaultNightMode (тема == Constants.THEME_LIGHT? AppCompatDelegate.MODE_NIGHT_NO: theme == Constants.THEME_DARK? AppCompatDelegate.MODE_NIGHT_YES: AppCompatDelegate. MODE_NIGHT_AUTO); – Francesc