转载请注明出处:王亟亟的大牛之路
这个控件之前就大致又看到V1版本的,然后坐着又做了更新,又写了分析的博文,那这边就简单的把内容贴出来介绍给大家就好了(又帮我省事了)
先来看下运行效果:
内容都是手绘,可见原作者功力深厚,666666
这边来说下怎么用
原作者希望该控件积存于ImageView或者View之下,所以就这样
ImageView.setImageDrawable(new LoadingDrawable(new GearLoadingRenderer(Context)));
ImageView.setImageDrawable(new LoadingDrawable(new WhorlLoadingRenderer(Context)));
ImageView.setImageDrawable(new LoadingDrawable(new LevelLoadingRenderer(Context)));
ImageView.setImageDrawable(new LoadingDrawable(new MaterialLoadingRenderer(Context)));
或者这样
View.setBackground(new LoadingDrawable(new GearLoadingRenderer(Context)));
View.setBackground(new LoadingDrawable(new WhorlLoadingRenderer(Context)));
View.setBackground(new LoadingDrawable(new LevelLoadingRenderer(Context)));
View.setBackground(new LoadingDrawable(new MaterialLoadingRenderer(Context)));
那当然,如果要对该对象进行操作,还是比较推荐用类变量传入,而不是直接new一个丢进去,像这样
private ImageView mIvElectricFan;
private LoadingDrawable mElectricFanDrawable;
先定义一个LoadingDrawable对象,一个ImageView对象
mElectricFanDrawable = new LoadingDrawable(new ElectricFanLoadingRenderer(this));
然后给图像对象一个初始化的操作(这边拿的是第一个黄色那控件做的演示)
mIvElectricFan.setImageDrawable(mElectricFanDrawable);
然后把这个图像内容传给ImageView就好了
如何开启,关闭动画呢?
mElectricFanDrawable.start();//开启
mElectricFanDrawable.stop();//关闭
更有营养的分析部分已经在下面贴了,想学习的小伙可以看看,想直接拿来用的上面的这些足够了
源码下载地址:https://github.com/dinuscxj/LoadingDrawable/archive/master.zip
分析的文章:http://www.jianshu.com/p/1c3c6fc1b7ff
时间: 2024-11-12 23:46:10