在 中layout
,我有一个textview
with height wrap_content
。是text size
10 sp。所以我想知道文本的确切高度。
我想知道的原因height
是,我想使用图像跨度bitmap
在文本视图中显示一些图像。并且解码方法需要目标宽度和高度。
可能吗?谢谢。
您可以覆盖 onWindowFocusChanged 方法,在这里您可以获得视图的实际高度和宽度。
@Override
public void onWindowFocusChanged (boolean hasFocus) {
// the height will be set at this point
int textViewHeigth = text.getHeigth();
}
这里有一些帖子: getHeight 为所有 Android UI 对象 和另一个返回 0你如何检索视图的尺寸?Getheight() 和 Getwidth() 总是返回零
TextView 中有两个 API 可以使用。它们是 getTextSize 和 getLineHeight。感谢所有的回答和帮助。
在布局的活动onCreate()
覆盖方法中。onGlobalLayout
在计算所有视图后调用此方法。在那里获取 textView 的高度。
假设您的 TextView 在 RelativeLayout
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout);
relativeLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
relativeLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
TextView text = (TextView) findViewById(R.id.yourTextView);
int textViewHeigth = text.getHeigth();
//Do what you want
}
});
您可以通过 textview 对象获取高度:
TextView text = (TextView) findViewById(R.id.<ID_OF_TEXTVIEW_IN_LAYOUT);
int textViewHeigth = text.getHeigth();