我的onDraw方法中有以下代码:

canvas.drawArc(rect, -90, 360, true, bgpaint);
if(isFocussed)
            canvas.drawArc(rect, -90, 360, true, strokePaint);


对于strokePaint,这是我的init()方法中的内容:

strokePaint = new Paint();
strokePaint.setColor(Color.YELLOW);
strokePaint.setAntiAlias(true);
strokePaint.setStyle(Paint.Style.STROKE);
strokePaint.setStrokeWidth(2);


每当strokePaint起作用时,圆形笔触就不会平滑。笔触在顶部,底部,左侧和右侧略微平坦。

我该如何解决这个问题?

问题圈子的屏幕截图:

最佳答案

绘制时必须考虑笔划宽度。
只需将形状缩小一半即可。

尽管我不能完全根据您的代码说出来,但我只是认为您的绘制超出了视图范围。这是一个普遍的问题。

10-08 16:14