2012-04-14 108 views
7

我想绘制一个字符串说像“下面的图像圆形视图”stackoverflow“可以任何人建议如何做到这一点。而且我还需要每个角色上的点击事件。在圆形视图中绘制文本?

IMAGE

+0

[看看这个,它已经问过(HTTP://计算器。 com/a/8343851/420015) – adneal 2012-04-14 03:45:12

+0

它是围绕文本画一个圆圈,但不是以循环方式绘制文本 – 2012-04-14 03:48:00

+0

[好吧,但它之前已被问过。此链接是正确的](http://stackoverflow.com/a/8337972/420015) – adneal 2012-04-14 03:52:00

回答

10

您需要为此定制一个视图。在onDraw方法中,创建一个路径对象,向该对象添加圆,然后使用Canvas对象在该路径上绘制文本。

Path path = new Path(); 
path.addCircle(x, y, radius, Path.Direction.CW); 
myCanvas.drawTextOnPath(myText, path, offset, 0, myPaint); 

编辑:

使用OS 4.0及以上时使用此行代码:

setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
+0

但是它的点击事件呢 – 2012-04-15 03:09:39

+0

我可以点击事件吗 – 2012-04-17 03:23:45

+0

有关点击事件的任何想法吗? – 2012-04-18 18:25:39

0

看看两者Path.addCircleCanvas.drawTextOnPath API。