我有自定义视图,我正在尝试在视图中间绘制一个圆圈。但是代码生成一个椭圆:
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);
视图宽度和高度与较暗的圆角矩形相同。
答案 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();