加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

网易云音乐、手机QQ的换肤是怎么做到的

发布时间:2019-09-20 15:47:28 所属栏目:业界 来源:rongchuang
导读:Android的主题换肤 ,可插件化提供皮肤包,无需Activity的重启直接实现无缝切换,可高仿网易云音乐的主题换肤。 这个链接是本次的Demo打包出来的样本SkinChangeDemo,可以去下载下来先试试效果,皮肤文件需放到存储卡的根目录下。 关于Android的主题换肤都

来看一个布局文件

网易云音乐、手机QQ的换肤是怎么做到的

其中 xmlns:skin=”http://schemas.android.com/android/skin“ 是我们自定义的,在SkinConfig有。 我们只需在有皮肤更改需求的View中加入skin:enable=”true” 就OK了。

再来看看MainActicvity的部分代码

网易云音乐、手机QQ的换肤是怎么做到的

这里就是动态的添加有皮肤更改需求的View。

上面就介绍完了在布局文件中使用方法和在代码中使用方法。

我们应该怎么去换肤呢?很简单,只需调用SkinManager的load方法就可以了,把皮肤路径传进去就可以了,我的这个Demo为了简单起见,没有做在线换肤的功能,只是在本地提供了可以更换的皮肤,看到这里我相信你对怎样在线换肤已经有想法了。

网易云音乐、手机QQ的换肤是怎么做到的

最最后我们来看看怎么去开发皮肤包。其实这个是最简单的,皮肤包实际上就是一个基本的Android项目,里面不包含类文件,只有资源文件。这里只需注意 这里的资源文件名字一定要和原项目中的相同,并且只用包含那些在皮肤更改时需要改变的那些就行了!例如我的这个Demo就只是简单对上面的三种颜色做了简单的切换。开发了棕色和黑色两款皮肤,所以资源文件中只有三个color的值,开发完成之后我们需要将其打包成apk文件,为防止用户点击安装,我们将其后缀改成了skin,这样做也具有标识性。如果还是不太清楚可以直接去源码中查看。

这下再来看一看文章开头效果图是不是突然变得有思路了,快动起你的小手指去敲一个主题换肤的框架吧~~~

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读