@Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { mList.layout(0, 0, mList.getMeasuredWidth(), getHeight()); if (mHeader != null) { MarginLayoutParams lp = (MarginLayoutParams) mHeader.getLayoutParams(); int headerTop = lp.topMargin; mHeader.layout( mPaddingLeft, headerTop, mHeader.getMeasuredWidth() + mPaddingLeft, headerTop + mHeader.getMeasuredHeight()); } }
@Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { mList.layout(0, 0, mList.getMeasuredWidth(), getHeight()); if (mHeader != null) { MarginLayoutParams lp = (MarginLayoutParams) mHeader.getLayoutParams(); int headerTop = lp.topMargin + (mClippingToPadding ? mPaddingTop : 0); // The left parameter must for some reason be set to 0. // I think it should be set to mPaddingLeft but apparently not mHeader.layout( mPaddingLeft, headerTop, mHeader.getMeasuredWidth() + mPaddingLeft, headerTop + mHeader.getMeasuredHeight()); } }