2014-09-10 91 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();