9

我想在圆形视图中画一个字符串说“stackoverflow”,如下图所示,任何人都可以建议如何去做。而且我还需要每个字符的点击事件。

图片

4

2 回答 2

11

您需要为此制作自定义视图。在 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);
于 2012-04-14T04:21:18.747 回答
0

看看两者Path.addCircleCanvas.drawTextOnPathAPI。

于 2012-04-14T03:42:46.217 回答