带有 configChanges 的 Android DayNight 主题

Android DayNight Theme with configChanges(带有 configChanges 的 Android DayNight 主题)
本文介绍了带有 configChanges 的 Android DayNight 主题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个应用,其中使用 Android 支持库的主题 DayNight.

I'm creating an app where I use the theme DayNight of the Android support libraries.

这是themes.xml中的代码

This is the code in themes.xml

<style name="ActivityTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

我在清单中使用 configChanges 来管理轮换.

I use configChanges in the manifest to manage rotations.

android:configChanges="keyboardHidden|orientation|screenSize"

在我的 AppcompatActivity 的 onCreate 中,我添加了:

In the onCreate on my AppcompatActivity I have added:

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)

问题是当我使用 setDefaultNightMode 时,android:configChanges 停止工作,并在每次轮换中重新创建活动.

The problem is that when I use setDefaultNightMode, android:configChanges stops working, and recreate de activity in every rotation.

欢迎任何形式的帮助

推荐答案

好像是个bug,会根据这个在AppCompat v.1.1.0中修复问题.

Seems to be a bug and will be fixed in AppCompat v.1.1.0 according to this issue.

在其修复之前,我会将 uiMode 标志添加到 android:configChanges 中,就像提到的 这里

Until its fixed I would add the uiMode flag to android:configChanges like mentioned here

这篇关于带有 configChanges 的 Android DayNight 主题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)