在调用所有布局方法后,我需要在Activity
中执行某些操作,所有View
都已就位,Activity
已准备好显示。
哪种方法可以做到?
答案 0 :(得分:39)
如果您想要获得视图或其他内容的宽度。这应该工作
将此添加到您的活动的onCreate
ViewTreeObserver vto = layout.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// Put your code here.
layout.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
答案 1 :(得分:1)
AFAIK没有神奇的方法。建议在您的活动类中添加Handler
,并从包含您要运行的代码的post()
Runnable
添加onCreate()
。
如果现在还为时过早,可以postDelayed()
代替。