In my case I have one custom view pager. I want it to scroll to the left side only, the right side scroll are disabled. I tried:
pager.setOnPageChangeListener(new OnPageChangeListener() {
int Pos = pager.getCurrentItem();
@Override
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels) {
mCurrentPage = pager.getCurrentItem();
if (position == mCurrentPage) {
// It's gone to right.
if (positionOffset > -4) {
// setPage(position + 1);
pager.setCurrentItem(position + 1);
}
// Not yet.
else {
// setPage(position);
pager.setCurrentItem(position);
}
} else {
// It's gone to left.
if (positionOffset < 0.5) {
// setPage(position);
pager.setCurrentItem(position);
}
// Not yet.
else {
// setPage(position + 1);
pager.setCurrentItem(position + 1);
}
}
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int position) {
// mCurrentPage = position;
// pager.setCurrentItem(position);
}
});
But it did not work and i also checked
How to disable ViewPager from swiping in one direction
How to know ViewPager has scrolled half the screen in android
Viewpage stop swiping in a certain direction
But I can't make it work.