美文网首页LeetCode刷题记录
实现App个性换肤 2018-09-17

实现App个性换肤 2018-09-17

作者: TheKey_ | 来源:发表于2018-09-17 15:34 被阅读66次

使用 Android-skin-support实现换肤功能,效果图如下:

1537169941547_video.gif
实现过程:
1.在build.gradle中导入相关依赖
 implementation 'skin.support:skin-support:3.1.0-beta1'                   // skin-support 基础控件支持
    implementation 'skin.support:skin-support-design:3.1.0-beta1'            // skin-support-design material design 控件支持[可选]
    implementation 'skin.support:skin-support-cardview:3.1.0-beta1'          // skin-support-cardview CardView 控件支持[可选]
    implementation 'skin.support:skin-support-constraint-layout:3.1.0-beta1' // skin-support-constraint-layout ConstraintLayout 控件支持[可选]

2.将原来布局中的颜色使用xml方式进行替换,如

 android:background="@color/text_background"
<color name="text_background">#ffffffff</color>

3.新建Module文件,名称为night,如下图所示:


image.png
image.png

4.在新建好的skin-night中,替换你要更改的颜色

 <color name="text_background">#363535</color>

5.在Terminal中进行打包


image.png

打包命令为:

gradlew :night:assembleDebug

打包后的apk路径为:


image.png

6.将文件后缀改为.skin,放入main/assets/skins/night.skin目录中


image.png
7.在项目中新建SkinApplication
public class SkinApplication extends Application{

    @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();
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    }
}

8.引入皮肤包即可实现换肤功能

SkinCompatManager.getInstance().loadSkin("night.skin", SkinCompatManager.SKIN_LOADER_STRATEGY_ASSETS);

相关文章

网友评论

    本文标题:实现App个性换肤 2018-09-17

    本文链接:https://www.haomeiwen.com/subject/eaalnftx.html