drawLine 是画线的 ,有时候想画虚线可以使用 PathEffect 代码如下
Paint linePaint = new Paint();
linePaint.reset();
linePaint.setAntiAlias(true);
linePaint.setStyle(Paint.Style.STROKE);
linePaint.setStrokeWidth(2);
linePaint.setColor(Color.RED);
PathEffect pathEffect = new DashPathEffect(new float[]{5, 5, 5, 5}, 2);
linePaint.setPathEffect(pathEffect);
canvas.drawLine(0, 0, 100, 100, linePaint);
可能由于版本的问题有时候 ,使用这个方法还是实线,
可以把drawLine 改为drawPath 来画虚线
代码如下
Paint linePaint = new Paint();
linePaint.reset();
linePaint.setAntiAlias(true);
linePaint.setStyle(Paint.Style.STROKE);
linePaint.setStrokeWidth(2);
linePaint.setColor(Color.RED);
PathEffect pathEffect = new DashPathEffect(new float[]{5, 5, 5, 5}, 2);
linePaint.setPathEffect(pathEffect);
Path linePath = new Path();
linePath.moveTo(120, 180);
linePath.lineTo(360, 360);
canvas.drawPath(linePath, linePaint);