一个带有图片蜂窝的loading
2017-02-03 本文已影响40人
的一幕
前阵子写了一个超酷的蜂窝loading(http://www.jianshu.com/p/1909e703e696), 说是要把每一个item改成图片的形式,算是想到了一个好的思路,不知道大家有没有好点的思路。先不说了,还是照常上张效果图吧:
思路
其实这里绘制图片很简单的,在绘制图片之前需要裁剪canvas
对象,裁剪的轨迹就是按照传统的path
来裁剪的,相信再去drawBitmap
就是上图所示了,核心代码如下:
<pre><code>```
canvas.save();
canvas.clipPath(mPath);
/*这里如果不进行缩放的话,会导致绘制的时候会很卡顿,因此这里做了一个整体缩小的动作/
canvas.drawBitmap(scaleBitmap(bitmap), 0, 0, null);
canvas.restore();
###用法
<pre><code>```
<declare-styleable name="BeeLoadingView">
<attr name="animate" format="enum">
<enum name="colorFul" value="1" />
<enum name="rotate" value="2" />
<enum name="colorArotate" value="3" />
</attr>
<!--每一个item的size大小-->
<attr name="load_size" format="float" />
<!--控制切换图片或是颜色的时间,单位是: 每一次/毫秒-->
<attr name="change_duration" format="integer" />
<!--控制旋转的动画速度,单位是:360度/毫秒-->
<attr name="rotate_duration" format="integer" />
<!--是否以bitmap的形式加载loading样式-->
<attr name="bitmapStyle" format="boolean" />
</declare-styleable>
```</code></pre>
到了这里就没什么好说的了,代码部分还是照样上传到github上。
###关于我:
**email:**a1002326270@163.com
**github:**[enter](https://github.com/1002326270xc/BeeBitmapLoadingView)