我想创建一个类似于此的风玫瑰:
目标是能够根据数据库中的信息更新绿色区域。 绿色区域应该采取两度,然后在它们之间创建绿色区域。
我在哪里可以开始寻找疗程?
答案 0 :(得分:2)
了解如何创建自定义视图:http://developer.android.com/training/custom-views/index.html
请记住,您必须优化绘图代码:不创建对象并尽可能多地依赖java图形基元。
快乐编码,这是一个非常有趣的Android开发方向,但对于初学者来说有点复杂。
哦,顺便说一句,在这里你可能有兴趣使用PorterDuff模式来实现半透明效果。
答案 1 :(得分:2)
我为ios做过这样的指南针。
除自定义视图外,您应该熟悉极坐标:
然后由(r,phi)而不是(x,y)定义一个点。 你需要一直这样,你循环使用phi从0到360迭代迭代,分步。当您在极地中有绘图坐标时,您必须转换为x,y并绘制它 此外,您需要使用AffineTransformations将玫瑰从给定像素宽度和高度缩放到中性-1,1范围。然后绘图更容易。
答案 2 :(得分:1)
如前所述,您可能希望实现自定义视图。
特别是,您需要将渲染分为两部分。背景静态图像和前景动态图像。
可以使用Canvas类生成前景图像。一旦你了解它,它就很容易使用。我们的想法是,您将使用绘制的画布生成一个位图。有关更多详细信息,请参阅文档:
http://developer.android.com/guide/topics/graphics/2d-graphics.html
对于实际渲染,您可以使用Canvas类中的drawArc方法:
public void drawArc (RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)
http://developer.android.com/reference/android/graphics/Canvas.html#drawArc(android.graphics.RectF,float,float,boolean,android.graphics.Paint)
一切顺利!