自定义LoadingView及动画笔记

自定义LoadingView及动画笔记_第1张图片

本次笔记是基于学习Darren的教程,万分感谢

首先我们要说的是我们在公司做的项目不管是商品详情页或者任何转跳都需要一定的加载动画,包括美团,Boss直聘都有很不错的加载动画,这样不仅让我们的数据加载显得不那么的苍白。
首先我们需要在xml中去做我们的根基模板

自定义LoadingView及动画笔记_第2张图片

然后去自定义我们的容器去加载我们的布局


自定义LoadingView及动画笔记_第3张图片
自定义LoadingView及动画笔记_第4张图片
自定义LoadingView及动画笔记_第5张图片
自定义LoadingView及动画笔记_第6张图片

然后需要我们自定义View去改变多种样式


自定义LoadingView及动画笔记_第7张图片
自定义LoadingView及动画笔记_第8张图片
自定义LoadingView及动画笔记_第9张图片
自定义LoadingView及动画笔记_第10张图片
自定义LoadingView及动画笔记_第11张图片

大致就是这样,最后需要考虑我们整个app加载数据时基本都涉及到loading动画了,所以我们通过模板设计模式BaseActivity中去动态的将我们定义的布局加载到屏幕上,而不是直接加载到xml不居中,为什么呢:第一:使用原来的GONE去隐藏或者显示,虽然表面看起来是正常的,背后却是动画一直在运行着,耗性能不说,而且还会造成内存泄漏。第二:不方便我们去扩展,我们是需要的时候就需要,不需要的时候我们就不需要,这里涉及到一个在xml中写死,会在setContentView源码加载布局中通过XmlParser解析器加到我们的布局中,我们动态的添加就避免了我们不用的时候还会去加载。直接上代码:

在我们的onCreate中通过反射和注解的形式去加载我们的loading view

自定义LoadingView及动画笔记_第12张图片
自定义LoadingView及动画笔记_第13张图片

还需要我们自定义的一个注解标识

自定义LoadingView及动画笔记_第14张图片

通过加载数据时用注解的方式去标识,只要加载此方法就会先执行加载动画

自定义LoadingView及动画笔记_第15张图片

在成功的方法我们通过调用基类的方法去执行页面的切换

自定义LoadingView及动画笔记_第16张图片

用过参数判断移除动画却换界面,以及防止内存泄漏

自定义LoadingView及动画笔记_第17张图片

已经在github上开源,地址:https://github.com/xiaoxing1992/FrameWork

你可能感兴趣的:(自定义LoadingView及动画笔记)