怎么在android中使用SkinManager实现一个换肤功能

  介绍

本篇文章给大家分享的是有关怎么在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实现一个换肤功能