在Android中创建虚线短划线效果轮廓

时间:2013-08-14 09:53:30

标签: android android-custom-view

我画了一个带有Style.Stroke的圆圈和一个提供给paint对象的dasheffect,但问题是破折号的形状是方形/矩形。

我希望实现的是虚线形状为圆/点。

这可能吗?

我尝试使用短划线值,但它只是调整每个短划线的大小和间隙而不是它的形状。

这是我到目前为止所写的内容:

paintCircleDotted = new Paint();
        paintCircleDotted.setStyle(Style.STROKE);
        paintCircleDotted.setStrokeWidth(strokeWidth);
        dashPath = new DashPathEffect(new float[] { 10, 5 }, (float) 1.0);
        paintCircleDotted.setPathEffect(dashPath);

2 个答案:

答案 0 :(得分:3)

使用:

Paint.setStrokeCap(Cap.ROUND)

答案 1 :(得分:1)

希望有人觉得这很有帮助。

  

要获得实际的圆点,可以定义一个圆。

Path path = new Path();
path.addCircle(0, 0, 6 /* Radius */, Path.Direction.CW);
  

并使用带有圆圈的路径作为我们的路径效果

mArcPaint.setPathEffect(new PathDashPathEffect(path, 40 /* spacing between each stamp of shape */, 0, PathDashPathEffect.Style.ROTATE));