看了网上很多答案,教大家怎么用paint画虚线。可能是由于发布时间比较久了,android更新换代了,使用canvas.drawLine()方法在真机上已经画不出虚线了。
解决方案:
使用drawPath()方法
DashPathEffect pathEffect = new DashPathEffect(new float[] { 1,2 }, 1);
Paint paint = new Paint();
paint.reset();
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
paint.setColor(Color.WHITE);
paint.setAntiAlias(true);
paint.setPathEffect(pathEffect);
Path path = new Path();
path.moveTo(50, 50);
path.lineTo(50, 200);
canvas.drawPath(path, paint);
关于DashPathEffect的讲解网上有很多,这里不赘述了。
另外提醒一点,paint、path每次用的时候最好调用一下reset()方法,否则会产生意料之外的效果。