解决在使用skin.support:skin-support换肤控件报错问题
解决在使用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换肤控件报错问题相关推荐
- .Net下WinForm换肤控件整理
.Net下WinForm换肤控件整理 ...
- 刚刚出炉的 IrisSkin,来个鲜的(附:换肤控件对比)
满怀希望的看了看新版本的东东,没想到,还是老样子, 窗体颤动,不如skinpp,不过,毕竟是.net的. 最近,收集了大致几种换肤的东东: appface.dll使用 1.需要添加的API声明: ...
- xamarin拖一个gridview控件报错怎么解决_[笔记阁]Xamarin初探:版式面板(一)
工丅Shinichi1分钟前在.NET程序员中,学习xamarin是一个自认为挺不错的跨平台开发框架,从此篇文章开始,将会逐步揭开xamarin的面纱.什么是版式面板? 官方解释:版式面板是一种 Xa ...
- 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法...
解决办法是Form类中定义一个静态的ActiveX对象,在formload中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可. public static AxClientDri ...
- 关于js调用ocx控件报错对象不支持此属性或方法的解决方法
在web中用js调用ocx时有两种方法,第一种,动态调用: 1,用名称调用,var ocx=new ActiveXObject("JITDSIGN.JITDSignCtrl.1") ...
- 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 ...
- 解决: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 ...
- MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题
MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 参考文章: (1)MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 (2)https://ww ...
- 解决命令行运行python文件,出现No module named *** 报错问题
解决命令行运行python文件,出现No module named *** 报错问题 参考文章: (1)解决命令行运行python文件,出现No module named *** 报错问题 (2)ht ...
最新文章
- C# 判断字符串是否符合十六进制,八进制,二进制和十进制整数格式的正则表达式...
- Hadoop SSH免密登录公钥生成并实现不同主机间的免密登录
- 实战:MongoDB 分片集群Shard Cluster 搭建(1台路由节点,3台配置节点,9台分片节点)
- php关键技术,基于Apache+MySQL+PHP的关键技术分析
- python同步远程文件夹_利用python实现两个文件夹的同步
- java毕业实习日志_java毕业实习日记.doc
- 【面试常问】BS 与 CS 的联系与区别
- 各类邮箱POP3和SMTP服务器地址和端口
- 堂食扫码点餐的小程序设计开发
- 基于PG与PostGIS搭建实时矢量瓦片服务
- 文本分类——常用经典技术解析(jieba,word2vec,样本不平衡问题)
- 如何配置一台深度学习的主机
- mysql用户replace权限_mysql查看用户的权限脚本
- android APK 解析软件包出现问题 解决办法
- 瀑布流布局:CSS3多列属性column实现
- 目前游戏行业内部主要几款游戏引擎的技术对比(转)
- [渝粤教育] 山东大学 2021秋中国武术文化(艺术英语) 参考 资料
- 十四个助你成功的心理定律
- SQL将两列合并为一列
- excel合并同类项去重求和功能