android开发如何在oncreat时获取layout宽高。

注意是oncreat时。getRight之类的只能得到0
2025-04-26 00:32:28
推荐回答(3个)
回答1:

ViewTreeObserver vto = view_layout.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@SuppressWarnings("deprecation")

@Override

public void onGlobalLayout() {

//在这里改变Layout的size或获得它的高度宽度

ViewTreeObserver obs = view_layout.getViewTreeObserver();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {

obs.removeOnGlobalLayoutListener(this);

} else {

obs.removeGlobalOnLayoutListener(this);

}

}

});

请试一下在onCreat中加入这段代码

回答2:

获取不到的,android 只有当layout显示出来时才能获取到

回答3:

用DisplayMetrics 可以得到屏幕宽高,如果是要得到控件宽高的话不建议放在onCreate做