使用步骤
- 导入框架模块lib
项目setting.gradle中引入模块 - 主APP Application中初始化框架单例
SkinManager.getInstance().init(this)
SkinManager.getInstance().load()
- 在需要使用换肤功能的activity,fragment ‘etc 继承对应的继类
- View布局文件 开启
skin:enable="true"
对应资源文件与资源包文件累的取值id一致 - 动态view加载的处理( RecycleView 类)
- 皮肤包的生成
- 开启和关闭处理
public void onClickLoadTheme(View view) {
String SKIN_NAME = "BlackFantacy.skin";
String SKIN_DIR = Environment.getExternalStorageDirectory() + File.separator + SKIN_NAME;
File skin = new File(SKIN_DIR);
SkinManager.getInstance().load(skin.getAbsolutePath(),
new ILoaderListener() {
@Override
public void onStart() {
Log.i("SkinManager", "onStart!");
}
@Override
public void onSuccess() {
Log.i("SkinManager", "onSuccess!");
}
@Override
public void onFailed() {
Log.i("SkinManager", "onFailed!");
}
});
}
public void onClickRestoreDefaultTheme(View view) {
SkinManager.getInstance().restoreDefaultTheme();
}