package com.sero.vk.signNow.ViewBezier; import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.DashPathEffect; import android.graphics.Paint; import android.graphics.Path; import android.graphics.PathEffect; import android.graphics.PathMeasure; import android.util.AttributeSet; import android.view.View; import android.view.animation.LinearInterpolator; /** * Created by Administrator on 2017/3/1. */ public class MyPathTracingView extends View implements View.OnClickListener { private Paint paint; private Path path; private PathMeasure pathMeasure; private float length; private float mAnimationValue; private PathEffect pathEffect; public MyPathTracingView(Context context) { super(context); } public MyPathTracingView(Context context, AttributeSet attrs) { super(context, attrs); paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setStrokeWidth(3); paint.setStyle(Paint.Style.STROKE); paint.setColor(Color.RED); path = new Path(); path.moveTo(100, 100); path.lineTo(100, 500); path.lineTo(400, 300); path.close(); pathMeasure = new PathMeasure(); pathMeasure.setPath(path,true); length = pathMeasure.getLength(); ValueAnimator animator = ValueAnimator.ofFloat(1, 0); animator.setInterpolator(new LinearInterpolator()); animator.setRepeatCount(ValueAnimator.INFINITE); animator.setDuration(2000); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { mAnimationValue = (float) animation.getAnimatedValue(); pathEffect = new DashPathEffect(new float[]{length, length}, length * mAnimationValue); paint.setPathEffect(pathEffect); invalidate(); } }); animator.start(); } public MyPathTracingView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawPath(path, paint); } @Override public void onClick(View v) { } }
自定义view 三角形路径绘制
最新推荐文章于 2024-05-06 19:32:25 发布