我正在开发一个应用程序,以数字化公司中的旧表格。每个表单都有许多输入值(RadioGroups,EditText,复选框)。该应用需要动态的黑暗模式,以日出和日落为导向。因此,当我以表格形式工作时,如果太阳落山了,它应该更改App主题。
“我的本地广播服务”(由MainActivity启动)检查实际时间是否在日落和日出之间,并发送广播。前台活动会接收广播,应该将主题更改为暗,但不会丢失输入值。
我尝试的所有方法都不起作用,因为我执行了Receiver函数并在onCreate-Method中设置了ContentView:
setTheme(R.style.AppTheme_Dark)
application.setTheme(R.style.AppTheme_Dark)
theme.applyStyle(R.style.AppTheme_Dark, true)
findViewById<View>(android.R.id.content).invalidate()
非常重要,我不会丢失输入中的值,所以不能使用startActivity(intent)
和finish()
和recreate()
。
有人知道解决问题的方法吗?