最近项目大改, 忙里偷闲 记录一下项目里用到的加载动画。。。。。
开始了:
UI大佬甩手扔过来一张GIF 说 : 我要这个效果。
........这 得加钱。。。
好吧 先看看这张动图:
o.gif
既然活都接下了,只能硬着头皮上了。。
对于这个稍微复杂一点的动画,当然得先拆分一下,分成简单的动画后逐一实现,
看到这张动图,它一共包含三中动画效果
1.整体旋转
2.线条长短变化
3.缩放
既然已经拆分出来了,就可以一个一个实现了。。。
1.线条长短变化
这里我使用的是canvas.drawArc 绘制圆弧的方式实现的, 也可以用path的方式实现,
这里圆弧分为两半,中间间距我设置为20,可以得到一个圆弧的弧度是160.
添加属性动画, 让线条开始长短变化
比较简单, 看一下代码:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
arcRectF.set(paintStork, paintStork, getWidth() - paintStork, getHeight() - paintStork);
//第一个圆弧
canvas.drawArc(ar