换肤库BinSkin1的使用

Android  代码片段  2023年8月30日 am8:08发布1年前 (2023)更新 城堡大人
116 0 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
多个隐藏块只需支付一次

参考文章

  1. 动态换肤库:BiuSkin1PA

  2. 动态换肤库:BiuSkin1PNA

 历史上的今天

  1. 2024: Kotlin中的特殊函数简介(0条评论)
  2. 2019: 戴望舒:致萤火(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

切换语言Fragment被回收

这个最近在项目中遇到,摘抄于此。开发过程中,页面使用fragmentactivity,可能会遇到这样的问题应用放置于后台,前台应用使用资源过多,手机默认会回收一些优先级低应用的资源。这样当我们的应用回到前端的时候,可能会因为资源被回收,引起异常,导致fragment显示错乱。 查了差相关资料以及别...

梁漱溟:花点心思活着,人生才有意义

一人们常常爱问:人生有没有目的?有没有意义?不知同学们对于这一类的问题想过没有?如果想过,其答案为何?要是大家曾用过一番心思,我来讲这问题就比较容易了,你们就可以比较容易地了解我的话。我以为人生不好说目的,因为目的是后来才有的事。我们先要晓得什么叫做目的。比如,我们这次来兴安,是想看灵渠,如果我...

[摘]深入浅出UML类图(三)

本文作者:刘伟  http://blog.csdn.net/lovelion类与类之间的关系(2)      2. 依赖关系依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。大多数情况下,...

GestureDetector使用简介

前言当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等。为了监听上面各种手势,Android sdk给我们提供了GestureDetector类。GestureDetector 是 Android 中,专门用来进行手势监听的一个对象,在他的监听器中,我们...

刘半农:叫我如何不想她

天上飘着些微云,地上吹着些微风。啊!微风吹动了我头发,教我如何不想她? 月光恋爱着海洋,海洋恋爱着月光。啊!这般蜜也似的银夜,教我如何不想她? 水面落花慢慢流,水底鱼儿慢慢游。啊!燕子你说些什么话?教我如何不想她? 枯树在冷风里摇。...

朱自清 :绿

我第二次到仙岩的时候,我惊诧于梅雨潭的绿了。梅雨潭是一个瀑布潭。仙岩有三个瀑布,梅雨瀑最低。走到山边,便听见哗哗哗哗的声音;抬起头,镶在两条湿湿的黑边儿里的,一带白而发亮的水便呈现于眼前了。我们先到梅雨亭。梅雨亭正对着那条瀑布;坐在亭边,不必仰头,便可见它的全体了。亭下深深的便是梅雨潭。这个亭踞...