自己开发软件的最重要的就是颜值了,所以最重要的就是实现换肤效果。
如果可以使用壁纸的话效果就更好了。
先实现最简单的不同颜色的切换效果吧。
自己实现肯定不显示,还是多多使用大佬的开源项目去(这里真的很感谢那些开源大佬)
https://github.com/burgessjp/ThemeSkinning
下面开始集成这个库
其实里面已经说得很详细了,我们这里就只需要安装它这个来。
下面说一下里面的坑。。
第一个:添加依赖要用下面这个方法来添加
implementation 'com.solid.skin:skinlibrary:2.0.0-beta7'
前面这几个继承都好说,重点是后面的那个自己新建模块的那部分,直接查看别人的项目。
这里面就是我们自己定义的一个模块了。我们只需要到子的项目里面把这些文件复制一遍应该就可以了。
里面也有说明:
我们新建一个模块:(这里选错了,要选择第一个)
我这里只保留下面这几个
后面构建出问题了,我们模块那一步新建错了。。(上面已经给出说明了)
要复制res下所有的内容,然后替换掉自己的内容。
注意:我刚才实验了一下,发现其实只需要修改一下manifest文件。内容如下
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="solid.ren.skinpackage">
</manifest>
(注意不要把layout文件复制进去,其他的你可以随便保留,我这里最后只保留了下面这几个文件)
然后自己切换一下
然后直接build生成apk文件。
emm,但是好像运行不了。。。一直报错。最后有考虑了性能方面等因素,最后决定放弃这个方案
后面我也考虑了好久,其实说是要换肤其实我只是想实现改变控件的颜色而已,其他的都不需要。。所以我只需要直接在java里面修改一下颜色就可以了。
至于壁纸功能那个也很简单,同时这样定制性就高一点。