如何获取以像素为单位的 View 文本大小的高度和宽度值?
How can I get the height and width values of View's text size in pixels?
我需要获取 textView 文本的高度和宽度。
是的,有一个名为 textView.getTextSize() 的方法,但我不明白那个大小是什么意思:高度、宽度还是其他?我需要准确的宽度和高度值(如果值以像素而不是 sp 为单位就好了)。
getTextSize()
returns TextView
的行高(以像素为单位)。
我认为您要查找的是 textView.getLayout().getHeight()
和 textView.getLayout().getWidth()
,尽管如果 TextView 最近更改,Layout
可能为空。
一种方法是使用 getPaint()
and 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();
我不能完全确定高度和宽度是否以像素为单位。基于这个 关于 RectF
,我认为 Rect
也应该使用像素。
getTextSize()
returns 上设置的文本大小实际上是 TextView
的字体大小,您可以通过查看 setTextSize
来确定方法:
https://developer.android.com/reference/android/widget/TextView#setTextSize(int,%20float)
要找出 TextView 的 height/width,您可以使用:
https://developer.android.com/reference/android/view/View#getMeasuredHeight()
https://developer.android.com/reference/android/view/View#getMeasuredWidth()
这是假设视图已经测量和布局。
至于在这里可能有用的有用转换,请参考:
每当不确定方法的作用时,请检查文档并检查其他方法以弄清楚它的作用,就像您可以通过查看 [=12] 来弄清楚 getTextSize
returns =].
我需要获取 textView 文本的高度和宽度。 是的,有一个名为 textView.getTextSize() 的方法,但我不明白那个大小是什么意思:高度、宽度还是其他?我需要准确的宽度和高度值(如果值以像素而不是 sp 为单位就好了)。
getTextSize()
returns TextView
的行高(以像素为单位)。
我认为您要查找的是 textView.getLayout().getHeight()
和 textView.getLayout().getWidth()
,尽管如果 TextView 最近更改,Layout
可能为空。
一种方法是使用 getPaint()
and 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();
我不能完全确定高度和宽度是否以像素为单位。基于这个 RectF
,我认为 Rect
也应该使用像素。
getTextSize()
returns 上设置的文本大小实际上是 TextView
的字体大小,您可以通过查看 setTextSize
来确定方法:
https://developer.android.com/reference/android/widget/TextView#setTextSize(int,%20float)
要找出 TextView 的 height/width,您可以使用:
https://developer.android.com/reference/android/view/View#getMeasuredHeight() https://developer.android.com/reference/android/view/View#getMeasuredWidth()
这是假设视图已经测量和布局。
至于在这里可能有用的有用转换,请参考:
每当不确定方法的作用时,请检查文档并检查其他方法以弄清楚它的作用,就像您可以通过查看 [=12] 来弄清楚 getTextSize
returns =].