换肤库BinSkin1的使用

Android 91es.com站长2023年8月30日 am8:08发布5个月前更新
0
导航号,我的单页导航
目录

前言

之前介上线了Android动态换肤库(BiuSkin1PABiuSkin1PNA),但没有写demo,因此这次抽空更新一下如何使用这些换肤库。

也可以直接看对应动态换肤库的介绍:《动态换肤库:BiuSkin1PA》和《动态换肤库:BiuSkin1PNA

正文

动态换肤就是常说的外置换肤,App和换肤资源是单独分开的,需要的时候就加载换肤资源即可。这里介绍的两个lib库都是动态换肤的。

动态换肤的优点:

  • 满足用户个性化界面,比如提供多套皮肤

  • 相比于静态换肤,减少了apk大小

  • 皮肤资源独立,便于维护

BiuSkin1PA和BiuSkin1PNA都是动态换肤库,而且BiuSkin1PNA是在BiuSkin1PA基础上修改的,因此接口都一样!

BiuSkin1PA的实现需要Activity继承SkinCompatActivity或SkinActivity,因此存在局限性,限制在Activity中使用。但BiuSkin1PNA不需要,因此比较完美之前App中的所有创建的View。

本文主要介绍BiuSkin1PNA,但如果想试试BiuSkin1PA,只需要把你Activity继承SkinCompatActivity或SkinActivity即可。

代码片段

第一步

创建两个模块,分别命名为BiuSkin1_Test和BiuSkin1_Test_skin。

BiuSkin1_Test默认皮肤和逻辑代码。BiuSkin1_Test_skin主要是用于放图片资源。

当然,如果你有多套皮肤,可以再创建皮肤模块。

  1. BiuSkin1_Test_skin是让皮肤资源打包成apk,当然你可以换成其他的压缩包!

  2. BiuSkin1_Test_skin资源目录最好跟BiuSkin1_Test一样。

BiuSkin1_Test
E:.
├─libs
└─src
    └─main
        ├─java
        └─res
            ├─color
            ├─drawable
            ├─drawable-nodpi
            ├─layout
            └─values
        AndroidManifest.xml
BiuSkin1_Test_skin
E:.
└─src
    └─main
        └─res
            ├─color
            ├─drawable
            ├─drawable-nodpi
            └─values
        AndroidManifest.xml

BiuSkin1_Test_skin中的res目录下,除了layout的,其他跟资源有关系的都要(推荐参考上面的)。

第二步

下面只关心BiuSkin1_Test的代码了。

核心类

SkinManager.java

单例模式,第一次需要初始化上下文,然后通过SkinManager.getInstance().xxx调用对应的方法。

隐藏内容!
付费阅读后才能查看!
3
6
多个隐藏块只需支付一次

参考文章

  1. 动态换肤库:BiuSkin1PA

  2. 动态换肤库:BiuSkin1PNA

版权声明 1、 本站名称 91易搜
2、 本站网址 https://www.91es.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权请留言
4、 本站禁止发布或转载任何违法的相关信息,如有发现请向站长举报
导航号,我的单页导航

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

暂无评论...