@Override public void onPageSelected(int position) { SparseArrayCompat<ScrollTabHolder> scrollTabHolders = mAdapter.getScrollTabHolders(); if (scrollTabHolders == null || scrollTabHolders.size() != mNumFragments) { return; } ScrollTabHolder currentHolder = scrollTabHolders.valueAt(position); currentHolder.adjustScroll( (int) (mHeader.getHeight() + mHeader.getTranslationY()), mHeader.getHeight()); }
@Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { int currentItem = mViewPager.getCurrentItem(); if (positionOffsetPixels > 0) { SparseArrayCompat<ScrollTabHolder> scrollTabHolders = mAdapter.getScrollTabHolders(); ScrollTabHolder fragmentContent; if (position < currentItem) { // Revealed the previous page fragmentContent = scrollTabHolders.valueAt(position); } else { // Revealed the next page fragmentContent = scrollTabHolders.valueAt(position + 1); } fragmentContent.adjustScroll( (int) (mHeader.getHeight() + mHeader.getTranslationY()), mHeader.getHeight()); } }