Android: CustomView Circle Stroke 不平滑
Android: CustomView Circle Stroke not smooth
我的 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 起作用时,圆形笔触不平滑。笔画在上、下、左、右一点点变平。
我该如何解决这个问题?
问题圈截图:
绘图时必须考虑笔划宽度。
把你的形状缩小一半就可以了。
虽然根据您的代码我不能肯定地说,但我只是认为您在视图范围之外绘制。这是一个常见问题。
试试这个 setAntiAlias(true)
和 setStrokeCap(Paint.Cap.ROUND)
我的 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 起作用时,圆形笔触不平滑。笔画在上、下、左、右一点点变平。
我该如何解决这个问题?
问题圈截图:
绘图时必须考虑笔划宽度。 把你的形状缩小一半就可以了。
虽然根据您的代码我不能肯定地说,但我只是认为您在视图范围之外绘制。这是一个常见问题。
试试这个 setAntiAlias(true)
和 setStrokeCap(Paint.Cap.ROUND)