仿网易云音乐切换主题

我是一个只会搬运代码不会生产代码的搬运工(以下内容都是github开源项目使用心得)

其他我也不多说先开效果图:

        效果大概就这样子


下面我讲一下这个改咋用

   demo地址:https://github.com/ximsfei/Android-skin-support


第一步: 导包

compile 'skin.support:skin-support:1.2.2'
compile 'skin.support:skin-support-design:1.2.1'
第二步: 在Application的onCreate中初始化
SkinMaterialManager.init(this);
SkinCompatManager.init(this).loadSkin();
第三步: 继承自SkinCompatActivity

public class BaseActivity extends SkinCompatActivity {}

第四步:切换主题

SkinCompatManager.getInstance().loadSkin("skin-violet.skin", new SkinCompatManager.SkinLoaderListener() {
    @Override
    public void onStart() {
    }

    @Override
    public void onSuccess() {
        Toast.makeText(ThemeActivity.this, "切换主题成功", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onFailed(String s) {
    }
});

第五步:返回原有主题

SkinCompatManager.getInstance().restoreDefaultTheme();


上面的这些就是这个开源项目的使用过程,用起来非常简单但是也有需要注意的几点

1.上面出现的 skin-violet.skin文件是哪里来,你创建一个module那你想替换的默认主题的文件放在里面记得名字要对应module样子如下图

做到这一步后再将这个module打包成apk文件,再将文件名改成你想要的就想了(注意:后缀名一定要是.skin)


2.这个项目有点小问题 就是在切换主题的瞬间不能finish Activity 和弹dailog 不然会闪退并且日志都看不到,主要注意这点这个项目还是很好用的。


猜你喜欢

转载自blog.csdn.net/qq_17853651/article/details/79481431