我有一个文本视图,其中包含覆盖一半屏幕的长文本,
在这个文本视图中,我在不同的位置有两个单词,我必须在其上方放置一个空白布局,这将使它具有玻璃效果。
我可以通过将 textview 放在 framelayout 中并将布局放在其上方来做到这一点。
问题是我将如何获得单词的坐标,因为文本可能排列在不同设备上的不同位置。
我想在标记为白色的地方放置一个布局。有人可以帮忙吗 谢谢。
我有一个文本视图,其中包含覆盖一半屏幕的长文本,
在这个文本视图中,我在不同的位置有两个单词,我必须在其上方放置一个空白布局,这将使它具有玻璃效果。
我可以通过将 textview 放在 framelayout 中并将布局放在其上方来做到这一点。
问题是我将如何获得单词的坐标,因为文本可能排列在不同设备上的不同位置。
我想在标记为白色的地方放置一个布局。有人可以帮忙吗 谢谢。
这将对您有所帮助
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
我不确定您是否可以直接从 TextView 获取文本的坐标 - 您应该在 TextView 类源代码中搜索。但是....如果您将文本视图渲染为位图,然后在位图中搜索文本的坐标(如果搜索的文本是蓝色的,应该很容易得到矩形!
你真正想要的是一个 backgroundspan :
span = new BackgroundColorSpan(Color.WHITE);
text.setSpan(span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);