首页 编程 软件学院 查看内容

Android_切换主题或皮肤的实现方式

2015-11-18 11:40 |来自: 子墨 2232 0

摘要: 1.简介使用自定义主题或者皮肤,可以将相关配置(颜色、大小等等)放在一个新的apk压缩文件中,目录结构保持一致,该apk文件放在任意可以访问到的目录即可,类似/system/framework/framework-res.apk,可根据软件的需要 ...
关键词: nbsp AssetManager Resources addAssetPath superRes 文件 framework 对象 兴趣 方式

1.简介

使用自定义主题或者皮肤,可以将相关配置(颜色、大小等等)放在一个新的apk压缩文件中,目录结构保持一致,该apk文件放在任意可以访问到的目录即可,类似/system/framework/framework-res.apk,可根据软件的需要动态的加载主题文件。这里只介绍这一种实现方式,别的方式有兴趣的可以自己研究。主要实例化AssetManager对象和Resources对象来实现的

  1. AssetManager assetManager = AssetManager.class.newInstance();  
  2. Method addAssetPath = assetManager.getClass().getMethod("addAssetPath", String.class);  
  3. addAssetPath.invoke(assetManager, skinPkgPath);  
  4.   
  5. Resources superRes = context.getResources();  
  6. Resources skinResource = new Resources(assetManager,superRes.getDisplayMetrics(),superRes.getConfiguration());  


2.流程图





3. 备注

github上就有一个不错的开源项目https://github.com/fengjundev/Android-Skin-Loader,有兴趣的朋友可以研究下源码

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部