获取TextView的高度/宽度时遇到问题。
我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv1 = (TextView)findViewById(R.id.textview1);
int h1 = tv1.getHeight();
TextView tv2 = (TextView)findViewById(R.id.textview2);
int h2 = tv2.getHeight();
}
h1是textview1的高度 h2是textview2的高度
这些h1和h2总是等于0.
这里有什么问题?
请建议。
感谢。
答案 0 :(得分:8)
View.getWidth()/View.getHeight()
不会给您有意义的答案。
在此处阅读how android draws views
请参阅此thread以了解测量尺寸何时可用。
答案 1 :(得分:0)
tv1.getHeight()将返回0(以及tv2.getWidth())。
解决方案是在你的视图布局后获得高度:
tv1.post(new Runnable(){
public void run(){
int height = tv1.getHeight();
}
});
tv2.post(new Runnable(){
public void run(){
int height = tv2.getHeight();
}
});