一种方法是使用 getPaint() 以及 getTextBound() ``` String text = (String) textView.getText(); Rect textBound = new Rect(); textView.getPaint().getTextBounds(text,0,text.length(),textBound); int textHeight = textBound.height(); int textWidth = textBound.width();
3条答案
按热度按时间0vvn1miw1#
一种方法是使用
getPaint()
以及getTextBound()
```String text = (String) textView.getText();
Rect textBound = new Rect();
textView.getPaint().getTextBounds(text,0,text.length(),textBound);
int textHeight = textBound.height();
int textWidth = textBound.width();
szqfcxe22#
getTextSize()
返回TextView
的行高(像素)。我想你要找的是
textView.getLayout().getHeight()
以及textView.getLayout().getWidth()
,尽管Layout
如果textview最近更改,则可以为null。txu3uszq3#
getTextSize()
返回上文本集的大小,实际上是TextView
,您可以通过查看setTextSize
方法:https://developer.android.com/reference/android/widget/textview#settextsize(整数,%20float)要计算textview的高度/宽度,可以使用:
https://developer.android.com/reference/android/view/view#getmeasuredheight()https://developer.android.com/reference/android/view/view#getmeasuredwidth()
这是假设视图已被测量和布局。
至于有用的转换,这里可以参考:如何转换dp,px,sp之间,特别是dp和sp?
当不确定一个方法做什么的时候,检查文档,同时检查其他方法来找出它做什么,就像你能找出什么一样
getTextSize
通过查看返回setTextSize
.