我想在类似下面图片的圆形视图中绘制字符串 "stackoverflow",有人能建议如何实现吗?同时我需要在每个字符上添加点击事件。
您需要为此创建一个定制视图。在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);
请查看 Path.addCircle
和 Canvas.drawTextOnPath
API。