对某一layout 应用getheight() 得到的一直是0. 查找后发现,这个方法直接用在 onCreat 函数里得到的就是0. 所以getheight 或者用到onCreat 之后的方法中,或者模拟button click 得到也可以。
我采用的是比较麻烦的方法,oncreate 新建一个线程,线程执行完后,已经跳出onCreate 这是去调用getheight 方法
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
frameLayout=(FrameLayout)findViewById(R.id.frame);
/* 开启一个新线程,在新线程里执行耗时的方法 */
new Thread(new Runnable() {
@Override
public void run() {
try {
spandTimeMethod();
// handler.sendEmptyMessage(0);// 执行耗时的方法之后发送消给handler
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// 耗时的方法
handler.sendEmptyMessage(0);// 执行耗时的方法之后发送消给handler
}
}).start();