【问题标题】:Android Switching between Dark/Light themes not workingAndroid 在深色/浅色主题之间切换不起作用
【发布时间】:2020-11-29 20:22:16
【问题描述】:

我正在开发一个 Android 项目,我需要支持根据系统设置偏好在深色/浅色主题之间切换。

我已将应用主题从 Theme.AppCompat.Light.NoActionBar 更改为 Theme.AppCompat.DayNight.NoActionBar

我在应用程序 onCreate() 上使用此 API AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);

只有在我重新启动应用程序时才会更新应用程序主题,但当我在应用程序内从系统设置更改主题时不会更新。

我错过了任何配置更改吗?

【问题讨论】:

  • 你能添加你的 manifest.xml 吗?
  • @user14678216 我将无法提供整个 Android Manifest 文件。您是否正在寻找清单中的任何特定部分,例如 Activity configChanges 标签?
  • 是的 configChanges
  • 这是其中一项活动。
  • @Prashanth 找到解决此问题的方法了吗?

标签: android android-dark-theme android-darkmode


【解决方案1】:

我认为问题出在android:configChanges 标签上。这是因为在更改主题时需要重新创建活动。您必须删除标签并使用onSavedInstanceState 来保存当前活动的状态。

【讨论】:

  • 即使没有删除该标签,活动也会重新启动。删除标签后测试,Activity 仍然重启,但主题没有更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 2019-11-13
  • 2021-03-10
  • 2021-01-06
  • 2021-12-21
相关资源
最近更新 更多