草庐IT

对 Android 应用换肤方案的总结

虽然现在已经有很多不错的换肤方案,但是这些方案或多或少都存在自己的问题。在这篇文章中,我将对Android现有的一些动态换肤方案进行梳理,对其底层实现原理进行分析,然后对开发一个新的换肤方案的可能性进行总结。1、通过自定义style换肤1.1方案的基本原理这种方案是我之前用得比较多的一种方案。我在使用的时候也做了很多的调整。开源版本可以参考Colorful这个库.[图片上传失败...(image-5d3a79-1651991706785)]它的实现方式是:用户提前自定义一些theme主题,然后当设置主题的时候将制定主题对应的id记录到本地文件中,当ActivityRESUME的时候,判断Act

Android主题适配说明文档

背景现项目中涉及红色、金色主题,同时需要适配红色暗黑、金色暗黑,本地需要手动维护4套色值,并且切换主题时需要重新销毁创建页面,维护跟用户体验都不是很友好。设计思路来源通过调研,发现换肤的实现原理比较符合适用当前项目的使用场景,开源项目Android-Skin-Loader通过查看源码换肤实现原理其实为通过下载或者加载本地资源包,这里的资源包其实就是一个只有资源文件的项目通过编译打包生成的.apk文件,点击切换时,通过提前手动绑定view和要改变的资源类型将资源Resource替换成资源包的Resource资源进行设置替换,从而达到换肤的效果。由此整理出方案需要自行实现的点获取需要支持主题切换的