Android实现画虚线的方法
Android中可以通过DashPathEffect
来实现,想知道关于PathEffect
的详细用法,请移步PathEffect的详细用法
代码示例:
PathEffect effects = new DashPathEffect(new float[]{30,10},step);
mPaint.setPathEffect(effects);
参数说明:
float
数组中的第一个表示虚线实现的长度,第二个就表示间隙大小,然后虚线就会一次循环重复step
表示虚线的偏移量
还可以通过改变虚线的偏移量来实现一定的动画效果,下面是全部代码
private void init(){
mPaint = new Paint();
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(Color.RED);
mPaint.setStrokeWidth(10);
mPath = new Path();
mPath.moveTo(0,20);
mPath.lineTo(400,20);
mPath.lineTo(400,200);
}
@Override
protected void onDraw(Canvas canvas) {
PathEffect effects = new DashPathEffect(new float[]{30,10},step);
mPaint.setPathEffect(effects);
step+=1;
canvas.drawPath(mPath,mPaint);
invalidate();
}
下面是代码效果图: