Android应用夜间模式换肤

这几天正好在做夜间模式切换,正好记录一下

所用的是第三方的一个框架,简单好用,但是也有一些不足。地址:  https://github.com/ximsfei/Android-skin-support

Android-skin-support is an easy to use dynamic skin framework for Android, Only one line of code to integrate it.一款用心去做的Android 换肤框架, 极低的学习成本, 极好的用户体验. 一行代码就可以实现换肤, 你值得拥有。

我是应用的插件式换肤,插件式换肤, 其步骤如下:

新建Android application工程

皮肤工程包名不能和宿主应用包名相同.

例如:

宿主包名: com.ximsfei.skindemo

夜间模式: com.ximsfei.skindemo.night

将需要换肤的资源放到res目录下(同名资源)

例如 APK中窗口背景颜色为

colors.xml

#ffffff

那么夜间模式你可以在skin-night工程中设置

colors.xml

#000000

打包生成apk, 即为皮肤包

将打包生成的apk文件, 重命名为'xxx.skin', 防止apk结尾的文件造成混淆.

加载皮肤插件

加载插件式皮肤, 将皮肤包放到assets/skins目录下

SkinCompatManager.getInstance().loadSkin("night.skin",SkinCompatManager.SKIN_LOADER_STRATEGY_ASSETS);

-----------------------------------------------------分割线---------------------------------------------------

大致说下,我们公司的需求:

并不是所有页面都支持换肤,所以很显然所用的资源文件也就不能直接支持换肤(这样会影响到其他不需要换肤的地方),必须得另起一份,比如我所有的资源文件都加了_skin后缀以区分。

未完待续。。。

你可能感兴趣的:(Android应用夜间模式换肤)