2013-03-07 138 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