在我的代码中,我试图找到textview所占据的高度..
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
t = new TextView(this);
ViewTreeObserver vto = t.getViewTreeObserver();
vto.addOnGlobalLayoutListener(this);
t.setText("This is to test the text\n Some Text \n Another ..");
t.append("\nafter something");
Toast.makeText(this, " The value at num = "+num,Toast.LENGTH_SHORT).show();
setContentView(t);
}
public void onGlobalLayout() {
// TODO Auto-generated method stub
num=t.getHeight();
Toast.makeText(this, "Hellooo !! height is "+num, Toast.LENGTH_SHORT).show();
}
onCreate()中num的值总是为零,但是onGlobalLayout()中的atlast,正确的高度存储在num中,但是我无法使用它,因为它是应用程序的结尾。 是否有可能在应用程序中间获取文本长度?
原谅,如果上述问题有任何错误..
谢谢, Siva Kuamr
答案 0 :(得分:1)
这不是应用程序的结束,那是Android完成布局的时候。如果您需要将其作为应用程序的“中间”,请在onGlobalLayout()
中调用一些将使用高度值的方法。请参阅Event-driven programming。