Skip to content

Instantly share code, notes, and snippets.

@evant
Created June 25, 2015 18:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save evant/238346704d8d09a18a78 to your computer and use it in GitHub Desktop.
Save evant/238346704d8d09a18a78 to your computer and use it in GitHub Desktop.
Disable ViewPager hardware layer if you are animating the items within while paging
public class ViewPagerRemoveHardwareLayer implements ViewPager.OnPageChangeListener {
private ViewPager mPager;
public ViewPagerRemoveHardwareLayer(ViewPager pager) {
mPager = pager;
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
removeHardwareLayer(mPager, state);
}
public static void removeHardwareLayer(ViewPager pager, int state) {
// A small hack to remove the HW layer that the viewpager add to each page when scrolling.
if (state != ViewPager.SCROLL_STATE_IDLE) {
final int childCount = pager.getChildCount();
for (int i = 0; i < childCount; i++)
pager.getChildAt(i).setLayerType(View.LAYER_TYPE_NONE, null);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment