我们知道在oncreate中View.getWidth和View.getHeight无法获得一个view的高度和宽度,这是因为View组件布局要在onResume回调后完成。
在activity里获取控件的宽高可以在onWindowFocusChanged()里面获取,但是fragment没有这个生命周期怎么办呢
在fragment里我们可以通过getViewTreeObserver().addOnGlobalLayoutListener()来获取
int mHeaderViewHeight;
mHeaderView.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
mHeaderViewHeight = mHeaderView.getHeight();
getViewTreeObserver()
.removeGloba