如何TextView
通过知道它的索引来计算 a 中字母的位置 X , Y ?我需要这个来显示一个指向被触摸的字母或单词的图形指针,但我不知道如何找到正确的位置。
问问题
108 次
2 回答
1
愿这对您有所帮助:
我不知道有一种简单的直接方法可以做到这一点,但是您应该能够使用TextView
通过调用的 Paint 对象将某些东西放在一起TextView.getPaint()..
一旦你有了绘画对象,你就可以FontMetrices
通过调用访问底层,Paint.getFontMetrics()
并可以访问其他函数,如Paint.measureText()
Paint.getTextBounds()
,以及Paint.getTextWidths()
访问显示文本的实际大小......
于 2013-08-05T07:39:39.343 回答
1
尝试这个:
Rect bounds = new Rect();
Paint textPaint = textView.getPaint();
textPaint.getTextBounds(text,0,text.length(),bounds);
int height = bounds.height();
int width = bounds.width();
那应该给你高度和宽度。为每个单独的字符创建一个具有不同值的高度/宽度数组,如果您使用循环和 ASCII 字符代码,您可以快速完成。然后,您可以添加每个字符的宽度,直到达到您想要的宽度。
但我认为这是一种更简单的方法。尝试使用具有多个文本视图的 LinearLayout 而不是 TextView。如果对每个字符使用 textview,则可以只使用 getX 和 getY。
于 2013-08-05T07:43:45.147 回答