看了網上很多答案,教大家怎麼用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()方法,否則會產生意料之外的效果。