1.开发环境:Android studio 3.4.0,kotlin实现
2.开发准备
①在values中添加资源文件【“new“ → "Values resouce file”】定义为”custom_theme_attrs“,内容如下:
②在资源文件”styles“中添加如下代码【添加主题】
#1EABF0
#FFFFFF
#F3F3F3
#333333
#000000
#FFFFFF
#888888
#EAEAEA
主题配置
TopicConfig
3.添加观察者接口:
package com.zjhj.maxapp.theme
interface ThemeChangeObserver {
/**
* 加载当前主题
*/
fun loadingCurrentTheme()
/**
* 主题改变后通知
*/
fun notifyThemeChanged()
}
4.在BaseActivity中实现接口
package com.zjhj.maxapp.base
import android.content.Context
import android.os.Bundle
import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
import com.zjhj.maxapp.App
import com.zjhj.maxapp.R
import com.zjhj.maxapp.theme.ThemeChangeObserver
import com.zjhj.maxapp.utils.L //自定义日志类
/**
* CreateTime 2020/4/2 09:10
* Author LiuShiHua
* Description:
*/
abstract class BaseActivity : AppCompatActivity(), ThemeChangeObserver {
private val KEY_THEME_TAG =