导航号,我的单页导航
文章目录

前言

前不久又上线了一个静态换肤库BiuSkin1DN,主要是针对日夜模式的换肤库:BiuSkin1DN。今天有空就简单介绍一下BiuSkin1DN库的使用。

记录于此,方便自己查阅。

正文

日夜模式

日夜模式就是我们常说的静态换肤的一种。进入话题前,先介绍一下优缺点。

知此知彼,百战不殆

优点
  1. 使用简单,Android自带

缺点
  1. 只支持两套皮肤(日间和夜间皮肤)

  2. APK可能臃肿(若图片资源过多的话)

代码片段

这个库只是省去手动去重新加载View而已,真正处理换肤的是Android本身设计的。因此,图片资源的存放都是按照Android日夜模式的规则去做。

第一步

Android高版本支持日夜模式,并创建夜间对应资源目录。

下面是日夜模式配置相关内容。

drawable
# 白天(默认)
drawable-nodpi
drawable-mdpi
# 黑夜
drawable-night-nodpi
drawable-night-mdpi

注意night的位置,是在中间哈!

其他的目录也是参考这种改

位置写错是Android是无法识别里面黑夜资源图片!

values
# 白天(默认)
values
# 黑夜
values-night
AndroidManifest.xml
<activity
    android:name=".MainActivity"
    android:configChanges="uiMode"
    android:exported="true"
    android:launchMode="singleInstance">
    //站长 略
</activity>

这里主要是配置了

android:configChanges="uiMode"

如果不配置,切换时Activity会重新创建。

如果不太明白,可看《再谈Android日夜模式

第二步

核心类

SkinManager.java
ISkinRefreshListener.java

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

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

参考文章

  1. 再谈Android日夜模式

  2. 静态换肤库:BiuSkin1DN

© 版权声明
导航号,我的单页导航

暂无评论

暂无评论...