3

我用 Style.Stroke 绘制了一个圆圈,并为绘画对象提供了一个破折号效果,但问题是破折号的形状是方形/矩形。

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

这可能吗?

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

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

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

2 回答 2

4

采用:

Paint.setStrokeCap(Cap.ROUND)
于 2013-08-14T10:33:22.667 回答
4

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

要获得真正的圆点,您可以定义一个圆。

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));
于 2018-11-10T06:44:40.013 回答