接着我们上一年的博眼球的主题,接下来的这篇我们仍然以UI效果为题开展主题推送,相信小伙伴们或多或少都做过App开发,App中最常见的一类UI效果,自然就是各种各样的Loading
了,这篇文章我们就以Loading
入手,介绍一种加载动画的思路,废话不多,直接进入正题。
以上图为例,要实现一个动画,我们首先应该观察,在整个动画过程中,那些是变化的,那些是静止的,从而考虑策略,进行实现。仔细观察不难看出,这是一个圆弧以圆心为中心旋转所构成的动画。由此我们可以看出,在该动画中圆弧的弧度是没有变化的,只是绘制圆弧后,画布在旋转,这样我们就可以实现该动画效果
完整代码如下:
public class RingRotateDrawable extends Drawable {
private Paint mArcPaint;
private int mRotate;
public static final String KEY_ROTATE = "ROTATE";
private ValueAnimator mValueAnimator;
public RingRotateDrawable(int color) {