自定义视图绘制圆圈生成椭圆

时间:2014-09-10 13:37:23

标签: android android-canvas

我有自定义视图,我正在尝试在视图中间绘制一个圆圈。但是代码生成一个椭圆:

Paint p = new Paint();
p.setStyle(Style.STROKE);
p.setColor(Color.GREEN);
p.setStrokeWidth(0.02f);

mCanvas.drawCircle(0.5f, 0.5f, 0.2f, p);

problem

视图宽度和高度与较暗的圆角矩形相同。

1 个答案:

答案 0 :(得分:1)

经过几次尝试,我发现它是因为画布的宽度和高度不相等。 我不得不将画布缩放到相同的宽度/高度。 如果有人遇到同样的问题,这是我的代码:

mCanvas.save();
mCanvas.scale(1f, RATIO); //ratio between width and height
mCanvas.drawCircle(0.5f, 0.5f/RATIO, 0.2f, p);
mCanvas.restore();