如果不采用臭名昭着的onGlobalLayoutListener()
解决方案,并且无需实现自定义视图,我可以将片段中的生命周期事件放入并确保所有片段视图都已被赋予一个大小?
作为必然结果,我还希望此生命周期事件适用于ViewPager中的片段。
答案 0 :(得分:1)
我认为没有任何Fragment生命周期事件可以确保所有视图都有大小。
我通常会在onActivityCreated()中使用OnLayoutChangeListener。像这样,
getView().addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
getView().removeOnLayoutChangeListener(this);
// Check the size of Views here.
}
});