问题描述
我第一次在我的应用程序中实现了一个深色/浅色主题。我成功地改变了主题。在我的应用程序菜单中,我有一个切换按钮来更改深色/浅色主题,效果很好。更改主题后,我的所有数据都丢失了,应用程序又重新创建了。我觉得哪个没问题。
我采用以下方式实现:
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
我为深色/浅色主题创建了 value-night、drawable-night、colors-night 文件夹。
if(isChecked) {
AppCompatDelegate.setDefaultNightMode(
AppCompatDelegate.MODE_NIGHT_YES);
getDelegate().applyDayNight();
//recreate();
}
else{
AppCompatDelegate.setDefaultNightMode(
AppCompatDelegate.MODE_NIGHT_NO);
getDelegate().applyDayNight();
// recreate();
}
我试图调用 recreate() 函数,但是我的应用程序开始不断闪烁。
我的问题:当用户从通知菜单(意味着在应用程序之外)更改主题时,它会重新创建并再次加载数据,这不是我的应用程序的要求。任何外部主题的变化,都不应该影响我内部的应用程序主题。我不确定这是否可能。我尝试添加以下代码 inactivity,但它会停止我的活动以更改主题。
android:configChanges="uiMode"
我正在寻找一个可以在应用程序中更改主题的实时应用程序。任何帮助将不胜感激。
问题:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)