本篇文章给大家分享的是有关怎么在android中使用SkinManager实现一个换肤功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强>一、配置强>
在应用下构建。gradle中添加依赖:
//换肤功能 compile & # 39; com.zhy: changeskin: 4.0.2 # 39;
这样就配置好了,然后在程序入口进行初始化。
<强>二、全局初始化强>
在自己创建的继承应用程序的类中添加:
//换肤sdk初始化 SkinManager.getInstance () .init(这);
这个类肯定要在清单文件& lt;应用程序/祝辞节点配置的。
接下来还需要注册。
<强>三、注册强>
在清单文件中添加权限:
& lt; uses-permission android: name=癮ndroid.permission.WRITE_EXTERNAL_STORAGE"/比; & lt; uses-permission  android: name=癮ndroid.permission.READ_EXTERNAL_STORAGE"/祝辞
在使用换肤功能的页面onCreate()中注册:
//换肤功能页面注册 SkinManager.getInstance () .register(这);
有注册当然有注销啊,在onDestroy方法中取消注册:
//换肤功能注销 SkinManager.getInstance () .unregister(这);
<强>四,命名规则强>
1, SkinManager命名规则是:前缀+“_”+后缀;
2,前缀,后缀的命名由开发者自行定义。
3,同属性不同肤色前缀一样,不同属性前缀不一样,
//例如:定义输入textColor属性值为@color/skin_text不同肤色颜色命名前缀均为skin_text
4,后缀根据肤色主题配置,每个主题所有属性后缀一样,
//例如:肤色有黑色,白色两种主题,如果黑白定义为“黑”“白”,//那么不管是输入textColor还是背景属于黑色主题的后缀就是黑色,属于白色主题的后缀就是白色的。
<强>五、肤色配置强>
1,在res/价值/颜色。xml中配置不同皮肤颜色:
& lt; !——黑底白字(默认主题)——比; & lt; color name=皊kin_text"祝辞# FFFFFF , & lt; !——黑底白字(黑色主题)——比; & lt; color name=皊kin_text_black"祝辞# FFFFFF ,& lt; !——白底黑字(白色主题)——比; & lt; color name=皊kin_text_white"祝辞# 000000 & lt;/color>
2,在res/可拉的下创建背景形状:
skin_bg。xml(默认主题)
& lt; ? xml version=?.0“,编码=皍tf-8" ?比; & lt; shape  xmlns: android=癶ttp://schemas.android.com/apk/res/android" ,android:形状=皉ectangle"祝辞 & lt;固体 android才能:颜色=? 000000“/比; & lt;/shape>
skin_bg_black。xml(黑色主题)
& lt; ? xml version=?.0“,编码=皍tf-8" ?比; & lt; shape  xmlns: android=癶ttp://schemas.android.com/apk/res/android" ,android:形状=皉ectangle"祝辞 & lt;固体 android才能:颜色=? 000000“/比; & lt;/shape>
skin_bg_white。xml(白色主题)
& lt; ? xml version=?.0“,编码=皍tf-8" ?比; & lt; shape  xmlns: android=癶ttp://schemas.android.com/apk/res/android" ,android:形状=皉ectangle"祝辞 & lt;固体 android才能:颜色=? FFFFFF"/比; & lt;/shape>
3,在src/可拉的下导入不同主题图片:
//图片同样以skin_src.png, skin_src_white.png skin_src_black。png命名
注意:这三种肤色配置非必须,1常用来配置输入textColor属性,2常用来配置背景属性,3常用来配置src属性,根据项目需要自行设置
<强>六、布局引用强>
布局中引用直接设置标签属性。
输入textColor属性设置:
& lt; TextView ,,android: id=癅 + id/title" ,, ,,android: layout_marginTop=癅dimen/dp_10" ,,android:重力=癱enter_horizontal" ,,android:标签=捌し?skin_text: textColor" ,,android:文本=安馐晕淖帧? ,,android:输入textColor=癅color/skin_text" ,,android: textSize=癅dimen/sp_24",/在
背景属性设置:
& lt;使用 ,,android: layout_width=癿atch_parent" ,,android: layout_height=癿atch_parent" ,,android:背景=癅drawable/skin_bg" ,,android:标签=捌し?skin_bg: background"在
src属性设置:
& lt; ImageView ,, ,,android: src=https://www.yisu.com/zixun/癅drawable/skin_src” android:标签="皮肤:skin_src: src "/>怎么在android中使用SkinManager实现一个换肤功能