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