美文网首页
Android动态换肤框架-实现换肤

Android动态换肤框架-实现换肤

作者: 码农的world | 来源:发表于2019-08-23 15:37 被阅读0次

1、换肤流程

1

2、采集流程

2

3、Android资源查找流程

3

4、采集需要换肤的控件

换肤我们需要换所有可能需要换的页面控件,所以我们不可能在每个页面重新findviewById,这时就需要一个方案可以在每个页面创建的时候自动获取所有换肤的控件并实现换肤,这里我们使用注册Activity生命周期回调实现这个需求。

4

通过昨天的换肤原理那篇文章我们可以知道,如果已经设置了Factory,那么就会通过工厂来创建view,所以通过上图4,我们自己实现一个工厂类SkinLayoutFactory,我们自己创建view,这样我们就能得到view中的对象和需要换肤的控件,代码如下图。

5 6

通过上图5、6可以看到,我们是通过自己实现工厂类创建view,创建view的代码其实都是和源码一样的,可以看看上一篇换肤的原理。创建view以后,我们就能筛选出我们所需要换肤的控件,筛选代码-“skinAttribute.load(view,attrs);”如下图

7 8 9

以上就是完整的采集换肤控件的流程。通过图7、8、9我们可以看到需要换肤的View和对应的属性都保存在了SkinAttribute的skinViews当中。

git地址:https://github.com/huoyingfang/AndroidSkin

相关文章

  • Android动态换肤框架-实现换肤

    1、换肤流程 2、采集流程 3、Android资源查找流程 4、采集需要换肤的控件 换肤我们需要换所有可能需要换的...

  • Android-Skin-Loader源码解析

    源码 一:简介 Android-Skin-Loader是一个通过动态加载技术实现换肤的框架;解决换肤的两个核心问题...

  • Android换肤方案

    没有任何侵入型的一行代码实现动态换肤的android换肤组件 欢迎star https://github.com/...

  • Android动态换肤框架-换肤原理

    注:下文源码有删减,截图只体现主流程 1、换肤原理 换肤就是替换资源(文字、颜色、图片等),而换肤基本有两种模式:...

  • 换肤框架Android-Skin-Support解析

    知识点汇总: 一:换肤框架Android-Skin-Support项目概述 二:实现换肤功能背景知识点学习 三:对...

  • Android 动态换肤原理与实现

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

  • Android-skin-loader 换肤总结

    前言 最近有个换肤的需求。基于github上的这个开源框架Android-Skin-Loader。这个框架的换肤机...

  • Android换肤方案总结

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

  • 动态换肤一(前期预备知识)

      动态换肤框架是仿照网易云音乐来换肤的,换肤的方式就是通过解压 apk 文件从中获取到皮肤包的资源,然后替换我们...

  • 手写动态换肤

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

网友评论

      本文标题:Android动态换肤框架-实现换肤

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