我有一个自定义视图,其中包含以下绘图代码:
@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);
}
这应绘制一个正方形,然后是一个两倍于正方形大小的圆,以其一个角为中心。相反,圆圈的大小与正方形相同。
换句话说。它应该看起来像左边的图像,但它实际上看起来像右边的图像。是什么给了什么?
答案 0 :(得分:2)
好的,经过测试,这似乎是GUI布局编辑器中的一个错误。我假设这会匹配设备上的结果,因为它们实际运行代码......而且这是一个非常奇怪的错误,它只会影响圆圈!
这也是一个更复杂的错误,而不仅仅是将值加倍。有时drawCircle()会绘制一个椭圆!
无论如何,它在设备上按预期工作。