效果如动图所示,点击按钮动态切换主题色。核心代码只有一行:activity.setTheme(想切换的主题style),结合生命周期重绘渲染设置主题。
1. 点击按钮变量存储切换状态:
override fun onClick(v: View?) {
when (v?.id) {
R.id.btn_theme1 -> {
//主题绿色
preferences.isOrangeThemeColor = false
recreate()
}
R.id.btn_theme2 -> {
//主题橙色
preferences.isOrangeThemeColor = true
recreate()
}
R.id.btn_jump -> {
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
}
else -> {
}
}
}
2. onActivityCreated控制切换
override fun onActivityCreated(activity: Activity, savedInstanc