解决在使用skin.support:skin-support换肤控件报错问题

1.如果项目中还在使用support库,添加以下依赖

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

在Application的onCreate中初始化。如未初始化,控件会在设置background这一属性上报错。

@Override
public void onCreate() {super.onCreate();SkinCompatManager.withoutActivity(this)                         // 基础控件换肤初始化.addInflater(new SkinMaterialViewInflater())            // material design 控件换肤初始化[可选].addInflater(new SkinConstraintViewInflater())          // ConstraintLayout 控件换肤初始化[可选].addInflater(new SkinCardViewInflater())                // CardView v7 控件换肤初始化[可选].setSkinStatusBarColorEnable(false)                     // 关闭状态栏换肤,默认打开[可选].setSkinWindowBackgroundEnable(false)                   // 关闭windowBackground换肤,默认打开[可选].loadSkin();
}

如果项目中使用的Activity继承自AppCompatActivity,需要重载getDelegate()方法。如未重载此方法,则会导致换肤不可用

@Override
public void onCreate() {super.onCreate();SkinCompatManager.withoutActivity(this)                         // 基础控件换肤初始化.addInflater(new SkinMaterialViewInflater())            // material design 控件换肤初始化[可选].addInflater(new SkinConstraintViewInflater())          // ConstraintLayout 控件换肤初始化[可选].addInflater(new SkinCardViewInflater())                // CardView v7 控件换肤初始化[可选].setSkinStatusBarColorEnable(false)                     // 关闭状态栏换肤,默认打开[可选].setSkinWindowBackgroundEnable(false)                   // 关闭windowBackground换肤,默认打开[可选].loadSkin();
}

2.如果项目中使用了AndroidX, 添加以下依赖

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

在Application的onCreate中初始化。如未初始化,控件会在设置background这一属性上报错。

@Override
public void onCreate() {super.onCreate();SkinCompatManager.withoutActivity(this).addInflater(new SkinAppCompatViewInflater())           // 基础控件换肤初始化.addInflater(new SkinMaterialViewInflater())            // material design 控件换肤初始化[可选].addInflater(new SkinConstraintViewInflater())          // ConstraintLayout 控件换肤初始化[可选].addInflater(new SkinCardViewInflater())                // CardView v7 控件换肤初始化[可选].setSkinStatusBarColorEnable(false)                     // 关闭状态栏换肤,默认打开[可选].setSkinWindowBackgroundEnable(false)                   // 关闭windowBackground换肤,默认打开[可选].loadSkin();
}

如果项目中使用的Activity继承自AppCompatActivity,需要重载getDelegate()方法,如未重载此方法,则会导致换肤不可用

@NonNull
@Override
public AppCompatDelegate getDelegate() {return SkinAppCompatDelegateImpl.get(this, this);
}

解决在使用skin.support:skin-support换肤控件报错问题相关推荐

  1. .Net下WinForm换肤控件整理

    .Net下WinForm换肤控件整理                                                                                   ...

  2. 刚刚出炉的 IrisSkin,来个鲜的(附:换肤控件对比)

    满怀希望的看了看新版本的东东,没想到,还是老样子, 窗体颤动,不如skinpp,不过,毕竟是.net的. 最近,收集了大致几种换肤的东东: appface.dll使用 1.需要添加的API声明:    ...

  3. xamarin拖一个gridview控件报错怎么解决_[笔记阁]Xamarin初探:版式面板(一)

    工丅Shinichi1分钟前在.NET程序员中,学习xamarin是一个自认为挺不错的跨平台开发框架,从此篇文章开始,将会逐步揭开xamarin的面纱.什么是版式面板? 官方解释:版式面板是一种 Xa ...

  4. 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法...

    解决办法是Form类中定义一个静态的ActiveX对象,在formload中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可. public static AxClientDri ...

  5. 关于js调用ocx控件报错对象不支持此属性或方法的解决方法

    在web中用js调用ocx时有两种方法,第一种,动态调用: 1,用名称调用,var ocx=new ActiveXObject("JITDSIGN.JITDSignCtrl.1") ...

  6. Navicat连接MySQL8.0版本时出现Client does not support authentication protocol requested by server;报错的问题解决办法

    Windown系统下 遇到 Navicat连接MySQL8.0版本时出现Client does not support authentication protocol requested by ser ...

  7. 解决:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错

    解决:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错 学习了:https://www.cnblogs.com/cnhkzyy/p/9119339.html se ...

  8. MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题

    MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 参考文章: (1)MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 (2)https://ww ...

  9. 解决命令行运行python文件,出现No module named *** 报错问题

    解决命令行运行python文件,出现No module named *** 报错问题 参考文章: (1)解决命令行运行python文件,出现No module named *** 报错问题 (2)ht ...

最新文章

  1. C# 判断字符串是否符合十六进制,八进制,二进制和十进制整数格式的正则表达式...
  2. Hadoop SSH免密登录公钥生成并实现不同主机间的免密登录
  3. 实战:MongoDB 分片集群Shard Cluster 搭建(1台路由节点,3台配置节点,9台分片节点)
  4. php关键技术,基于Apache+MySQL+PHP的关键技术分析
  5. python同步远程文件夹_利用python实现两个文件夹的同步
  6. java毕业实习日志_java毕业实习日记.doc
  7. 【面试常问】BS 与 CS 的联系与区别
  8. 各类邮箱POP3和SMTP服务器地址和端口
  9. 堂食扫码点餐的小程序设计开发
  10. 基于PG与PostGIS搭建实时矢量瓦片服务
  11. 文本分类——常用经典技术解析(jieba,word2vec,样本不平衡问题)
  12. 如何配置一台深度学习的主机
  13. mysql用户replace权限_mysql查看用户的权限脚本
  14. android APK 解析软件包出现问题 解决办法
  15. 瀑布流布局:CSS3多列属性column实现
  16. 目前游戏行业内部主要几款游戏引擎的技术对比(转)
  17. [渝粤教育] 山东大学 2021秋中国武术文化(艺术英语) 参考 资料
  18. 十四个助你成功的心理定律
  19. SQL将两列合并为一列
  20. excel合并同类项去重求和功能

热门文章

  1. jsp有哪些动作?作用是什么
  2. 基于Duffing系统的分数阶混沌研究【基于matlab的动力学模型学习笔记_5】
  3. 攒一台自己的深度学习主机
  4. STemWin专题-控件设计
  5. java基础学习总结——面向对象1
  6. 排序算法——Shell排序
  7. win10系统 桌面计算机删除了,Win10电脑如何删除或者关闭全部磁贴?
  8. HTML网页期末作业:基于Html+Css+javascript的网页制作(化妆品企业官网设计20页)
  9. 对联弹窗html,悬停对联广告.html
  10. ps昏暗室内照片调成暖色光亮效果