/** Re-measure the Loading Views height, and adjust internal padding as necessary */ private void refreshLoadingViewsHeight() { if (mMode.canPullDown()) { measureView(mHeaderLayout); mHeaderHeight = mHeaderLayout.getMeasuredHeight(); } else if (mMode.canPullUp()) { measureView(mFooterLayout); mHeaderHeight = mFooterLayout.getMeasuredHeight(); } else { mHeaderHeight = 0; } // Hide Loading Views switch (mMode) { case DISABLED: setPadding(0, 0, 0, 0); case BOTH: setPadding(0, -mHeaderHeight, 0, -mHeaderHeight); break; case PULL_UP_TO_REFRESH: setPadding(0, 0, 0, -mHeaderHeight); break; case PULL_DOWN_TO_REFRESH: default: setPadding(0, -mHeaderHeight, 0, 0); break; } }