我有一个带有以下绘图代码的自定义 View :
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
canvas.drawColor(Color.BLACK);
mPaint.setColor(Color.GREEN);
canvas.drawRect(0, 0, 100, 100, mPaint);
mPaint.setColor(Color.BLUE);
canvas.drawCircle(100, 100, 100, mPaint);
}
这应该画一个正方形,然后是一个两倍于正方形大小的圆,以它的一个角为中心。相反,圆圈与正方形大小相同。
换句话说。它看起来应该像左边的图像,但实际上看起来像右边的图像。给了什么?
最佳答案
好的,经过测试,这似乎是 GUI 布局编辑器中的一个错误。我假设这会与设备上的结果相匹配,因为它们实际上运行了代码……这是一个非常奇怪的错误,它只影响圆圈!
此外,它是一个比将值加倍更复杂的错误。有时 drawCircle() 会画一个椭圆!
无论如何它在设备上按预期工作。
关于Android Canvas.drawCircle() 是它应该大小的一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8916179/