本次笔记是基于学习Darren的教程,万分感谢
首先我们要说的是我们在公司做的项目不管是商品详情页或者任何转跳都需要一定的加载动画,包括美团,Boss直聘都有很不错的加载动画,这样不仅让我们的数据加载显得不那么的苍白。
首先我们需要在xml中去做我们的根基模板
然后去自定义我们的容器去加载我们的布局
然后需要我们自定义View去改变多种样式
大致就是这样,最后需要考虑我们整个app加载数据时基本都涉及到loading动画了,所以我们通过模板设计模式BaseActivity中去动态的将我们定义的布局加载到屏幕上,而不是直接加载到xml不居中,为什么呢:第一:使用原来的GONE去隐藏或者显示,虽然表面看起来是正常的,背后却是动画一直在运行着,耗性能不说,而且还会造成内存泄漏。第二:不方便我们去扩展,我们是需要的时候就需要,不需要的时候我们就不需要,这里涉及到一个在xml中写死,会在setContentView源码加载布局中通过XmlParser解析器加到我们的布局中,我们动态的添加就避免了我们不用的时候还会去加载。直接上代码:
在我们的onCreate中通过反射和注解的形式去加载我们的loading view
还需要我们自定义的一个注解标识
通过加载数据时用注解的方式去标识,只要加载此方法就会先执行加载动画
在成功的方法我们通过调用基类的方法去执行页面的切换
用过参数判断移除动画却换界面,以及防止内存泄漏
已经在github上开源,地址:https://github.com/xiaoxing1992/FrameWork