换肤神器SkinManager的使用(一)

换肤神器SkinManager的使用(一)


1.在gradle文件中引入

  //换肤
    implementation 'skin.support:skin-support:4.0.4'                   // skin-support
    implementation 'skin.support:skin-support-appcompat:4.0.4'         // skin-support 基础控件支持
    implementation 'skin.support:skin-support-design:4.0.4'            // skin-support-design material design 控件支持[可选]
    implementation 'skin.support:skin-support-cardview:4.0.4'          // skin-support-cardview CardView 控件支持[可选]
    implementation 'skin.support:skin-support-constraint-layout:4.0.4' // skin-support-constraint-layout ConstraintLayout 控件支持[可选]

2.在Application中配置一下代码

  // 框架换肤日志打印
        Slog.DEBUG = true
        SkinCompatManager.withoutActivity(BaseApplication.mContext)                         // 基础控件换肤初始化
            .addInflater(SkinAppCompatViewInflater())           // 基础控件换肤初始化
            .addInflater(SkinMaterialViewInflater())            // material design 控件换肤初始化[可选]
            .addInflater(SkinConstraintViewInflater())          // ConstraintLayout 控件换肤初始化[可选]
            .addInflater(SkinCardViewInflater())                // CardView v7 控件换肤初始化[可选]
//            .setSkinStatusBarColorEnable(false)                     // 关闭状态栏换肤,默认打开[可选]
//            .setSkinWindowBackgroundEnable(false) // 关闭windowBackground换肤,默认打开[可选]
//            .setSkinAllActivityEnable(false)
            .loadSkin()
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)

3.在需要换肤功能的activity中重写getDelegate方法

 override fun getDelegate(): AppCompatDelegate {
        return SkinAppCompatDelegateImpl.get(this, this)
    }

4.调用换肤方法切换皮肤(这里以加载后缀的方式进行换肤)

 SkinCompatManager.getInstance().loadSkin(
            "cn",//加载的皮肤后缀标识
            null,
            SkinCompatManager.SKIN_LOADER_STRATEGY_BUILD_IN
        )//切换皮肤名为night的皮肤

5.恢复原有皮肤

 SkinCompatManager.getInstance().restoreDefaultTheme()//恢复默认皮肤

6.资源换肤配置
(1)在drawable文件中配置所需资源,这里以_cn后缀来区分
在这里插入图片描述
(2)在mipmap中配置图片资源
在这里插入图片描述
(3)在color文件中配置颜色
在这里插入图片描述
以上就是skinManager的基本使用啦!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值