2014-09-10 56 views
0

我有一个自定义视图,我试图在视图中间画一个圆。然而,代码产生elipse:自定义视图绘制圆圈产生椭圆

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

视图宽度和高度是相同的较深圆角矩形。

+0

你确定你没有使用任何类型的绘制呢?喜欢背景还是类似的? – Jitsu 2014-09-10 13:57:26

+0

没有可绘图,我正在使用画布。 – domen 2014-09-10 14:38:26

回答

1

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

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