美文网首页
动态换肤

动态换肤

作者: Android刘东 | 来源:发表于2020-08-20 14:00 被阅读0次

github换肤地址:https://github.com/ximsfei/Android-skin-support
原理:1)加载动态Resources资源
2)XML:通过LayoutInflater.Factory2 通过反射对View实行一个集合的存储
3)对View进行一系列的改变(从动态Resources资源获取
) 等等 mResources.getIdentifier(String name, String defType, String defPackage);

//加载动态资源
private String skinPackageName;//skin package name
    public Resources getSkinResources(String skinPkgPath, Context mAppContext) {
        try {
         PackageManager mPm = context.getPackageManager();
                        PackageInfo mInfo = mPm.getPackageArchiveInfo(skinPkgPath, PackageManager.GET_ACTIVITIES);
                        skinPackageName = mInfo.packageName;
            AssetManager assetManager = AssetManager.class.newInstance();
            Method addAssetPath = assetManager.getClass().getMethod("addAssetPath", String.class);
            addAssetPath.invoke(assetManager, skinPkgPath);

            Resources superRes = mAppContext.getResources();
            return new Resources(assetManager, superRes.getDisplayMetrics(), superRes.getConfiguration());
        } catch (Exception e) {
        }
        return null;
    }

相关文章

  • Android 动态换肤原理与实现

    概述 本文主要分享类似于酷狗音乐动态换肤效果的实现。 动态换肤的思路: 收集换肤控件以及对应的换肤属性 加载插件皮...

  • 手写动态换肤

    前言: 换肤,目前包括静态换肤和动态换肤静态换肤 这种换肤的方式,也就是我们所说的内置换肤,就是在APP内部放置多...

  • 字节头条部Android二面:说说Android动态换肤实现原理

    换肤分为动态换肤和静态换肤 静态换肤 这种换肤的方式,也就是我们所说的内置换肤,就是在APP内部放置多套相同的资源...

  • 字节跳动头条部Android二面:说说Android动态换肤实现

    换肤分为动态换肤和静态换肤 静态换肤 这种换肤的方式,也就是我们所说的内置换肤,就是在APP内部放置多套相同的资源...

  • 字节头条部Android二面:说一说Android动态换肤实现原

    换肤分为动态换肤和静态换肤 静态换肤 这种换肤的方式,也就是我们所说的内置换肤,就是在APP内部放置多套相同的资源...

  • 动态换肤

    1、使用Android Support Library修改uiMode来实现 修改uimode是修改Configu...

  • 动态换肤

    github换肤地址:https://github.com/ximsfei/Android-skin-suppor...

  • 动态换肤

    换肤是什么? 通俗点来将就是修改View的属性。 就跟一个 setTextColor()一样,区别只是在于换肤一次...

  • 动态换肤

    写一个只包含皮肤资源信息的apk包,资源名称和换肤应用名称保持一致。 换肤应用在setContentView方法内...

  • Android换肤方案总结

    这篇总结也是拖了很久了,欠下的技术债必须得偿还啦~ Android换肤在使用场景上可以区分为静态换肤/动态换肤、应...

网友评论

      本文标题:动态换肤

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