question: @ Override protected void onMeasure ( int widthMeasureSpec , int heightMeasureSpec ) { int measureHeight = measureHeight ( heightMeasureSpec ) ; if ( mMaxParentHeight != 0 && Math . abs ( measureHeight - mOldHeight ) < mMaxNavBarHeight ) { mMaxParentHeight += ( measureHeight - mOldHeight ) ; } else if ( mMaxParentHeight == 0 || measureHeight > mMinLayoutHeight ) { mMaxParentHeight = measureHeight ; } heightList . add ( measureHeight ) ; int heightMode = MeasureSpec . getMode ( heightMeasureSpec ) ; int expandSpec = MeasureSpec . makeMeasureSpec ( mMaxParentHeight , heightMode ) ; super . onMeasure ( widthMeasureSpec , expandSpec ) ; mOldHeight = measureHeight ; }
target:  when keyboard hide, three onMeasure will be called onMeasure measureHeight = 1533 onMeasure measureHeight = 725 onLayout top = 0, bottom = 1533 onMeasure measureHeight = 725 onLayout top = 0, bottom = 725