如何通过知道它的索引来计算TextView
中字母的位置X,Y?
我需要这个来显示一个触摸的字母或单词的图形指针,但我不知道如何找到正确的位置。
答案 0 :(得分:1)
这可以帮到你:
我不知道一个简单的直接方法,但你应该能够通过调用TextView
TextView.getPaint()..
的Paint对象放一些东西。
拥有paint对象后,您可以通过调用FontMetrices
访问基础Paint.getFontMetrics()
,并可以访问其他功能,例如Paint.measureText()
Paint.getTextBounds()
和{ {1}}用于访问显示文本的实际大小...
答案 1 :(得分: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字符代码,则可以快速完成。然后,您可以添加每个角色的宽度,直到找到所需的宽度。
但我认为这是一种更简单的方法。而不是TextView,尝试具有多个textview的LinearLayout。如果对每个字符使用textview,则可以使用getX和getY。