在 canvas 上使用 drawText() 引用绘制的文本

Reference to drawn text using drawText() on a canvas

我有一个 canvas,我在上面使用 drawText() 绘制了一些文本,是否可以获得对该文本的引用?我想 select 该文本使用 onLongPress() 手势,我想我需要参考该文本才能做到这一点。

您将不会参考在 canvas.To 上使用 drawText() 绘制的内容 执行 select 文本 您必须使用 Paint.measureText() 来获取高度和宽度您的文本,然后绘制背景以制作文本的自定义效果 selection(使用 onTouch() 处理长按)。

在 canvas 上绘制文本时,您必须自己处理文本视图的每个行为。

另一种方法是创建一个 TextView 并将其添加到任何布局,然后使用以下代码将布局绘制到 canvas

//measure the width and height of the layout(covers entire canvas)
vLayout.measure(canvas.getWidth(), canvas.getHeight());
//set the bounds of the layout.
vLayout.layout(0, 0, canvas.getWidth(), canvas.getHeight());
vLayout.draw(canvas);