2013-03-07 105 views
3

我想繪製一個動態雷達,但我無法正確繪製圓錐形狀。我可以讓兩條線路正常工作,但我無法獲得它們之間的陰影。在android中繪製一個2D餅圖,就像餅圖。

我的目標:

enter image description here

什麼我得到:

enter image description here

這是我的代碼:

paint.setColor(Color.WHITE); 
RectF oval = new RectF(0,0,200,200); 
canvas.drawArc(oval,(float)globalAzimuth+26, (float)globalAzimuth-26,false,paint); 

globalAzimuth是手機的方向面對。雷達像手機一樣旋轉。這些線條旋轉精細並且同步化,但弧線變得更大,顯然非常糟糕。

有誰知道如何做到這一點?

回答

1

它看起來像你正在處理參數sweepAngle作爲停止角度。它應該是從startAngle開始順時針掃描的度數。

From the docs:

sweepAngle:掃描角(°)順時針測量

編輯:看起來你可以使用一個常量52的後掠角,因爲你只是打算26從globalAzimuth(儘管你的線條看起來比52度更接近,所以我不確定)。如果你這樣做,你需要記住它順時針旋轉,所以你的startAngle應該是globalAzimuth - 26,而不是加號。

+0

謝謝!這回答了我的問題。注意:它是52度,但我手動繪製了第一張圖片,因此可能不是52度。 – 2013-03-07 22:35:55

+0

這是有道理的。我盯着它一分鐘,想知道你是如何獲得52度傳播的。很高興我能幫上忙。 – Geobits 2013-03-08 03:30:23