自定义view之仿支付宝支付成功失败动画的实现原理

主要知识点

Path的常见方法

-moveTo() 该方法移动后续操作的起点坐标

-lineTo() 该方法是连接起始点与某一点(传的参数)形成一条线

-setLastPath() 该方法是设置Path最后的坐标

-close() 该方法是将起点坐标与终点坐标连接起来形成一个闭合的图形(如果始终点左边能连接的话)

-addRect() 该方法是绘制一个巨型

-addRoundRect() 该方法是绘制一个圆角矩形

-addOval() 该方法是绘制一个椭圆

-arcTo() 该方法是绘制一段圆弧

-addArc() 该方法是绘制一段圆弧

PathMeasure的常见方法

-setPath() 该方法将path与PathMeasure绑定起来

-getLength() 该方法用于获得path路径的长度

-getSegment() 该方法用于截取整个Path的片段

-nextContour() 该方法用于切换到下一个路径

实现原理步骤:

1.画path

2.通过pathMeasure的setPath,getSegment取显示部分的path,在onDraw方法里调用


canvas.drawPath

3.通过ValueAnimator来生成动画


mAnimator = ValueAnimator.ofFloat(0, 1);

mAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

value = (float) animation.getAnimatedValue();

invalidate();

}

});

4.通过nextContour切换图径过画

以上,打完收功

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容