在layout
中,我有textview
height wrap_content
。 text size
是10 sp。所以我想知道文本的确切高度。
我想知道height
的原因是,我想使用图像跨度在文本视图中显示一些bitmap
图像。解码方法需要目标宽度和高度。
有可能吗?感谢。
答案 0 :(得分:0)
您可以通过textview对象获取高度:
TextView text = (TextView) findViewById(R.id.<ID_OF_TEXTVIEW_IN_LAYOUT);
int textViewHeigth = text.getHeigth();
答案 1 :(得分:0)
在活动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
}
});
答案 2 :(得分:0)
您可以覆盖onWindowFocusChanged方法,在这里您可以获得视图的实际高度和宽度。
@Override
public void onWindowFocusChanged (boolean hasFocus) {
// the height will be set at this point
int textViewHeigth = text.getHeigth();
}
这里有一些帖子给你: getHeight returns 0 for all Android UI objects 另一个How do you to retrieve dimensions of a view? Getheight() and Getwidth() always return zero
答案 3 :(得分:0)
TextView中有两个可以使用的API。它们是getTextSize和getLineHeight。感谢您的所有答案和帮助。