5

我有一个文本视图,其中包含覆盖一半屏幕的长文本,

在这个文本视图中,我在不同的位置有两个单词,我必须在其上方放置一个空白布局,这将使它具有玻璃效果。

我可以通过将 textview 放在 framelayout 中并将布局放在其上方来做到这一点。

问题是我将如何获得单词的坐标,因为文本可能排列在不同设备上的不同位置。

在此处输入图像描述

我想在标记为白色的地方放置一个布局。有人可以帮忙吗 谢谢。

4

3 回答 3

3

这将对您有所帮助

public void getLocationOnScreen (int[] location)
    Since: API Level 1

Computes the coordinates of this view on the screen. The argument must be an
array of two integers. After the method returns, the array contains the x and y
location in that order.

Parameters
   location   an array of two integers in which to hold the coordinates

请参阅代码、链接以及链接。

于 2012-07-15T05:53:45.417 回答
1

我不确定您是否可以直接从 TextView 获取文本的坐标 - 您应该在 TextView 类源代码中搜索。但是....如果您将文本视图渲染为位图,然后在位图中搜索文本的坐标(如果搜索的文本是蓝色的,应该很容易得到矩形!

于 2012-07-15T06:23:34.717 回答
-1

你真正想要的是一个 backgroundspan :

span = new BackgroundColorSpan(Color.WHITE);
text.setSpan(span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
于 2014-11-26T16:34:36.093 回答