Create your own class inherited from ViewPager
and redefine onTouchEvent
and onIntersectTouchEvent
as follows.
public class CustomViewPager extends ViewPager { private boolean isPagingEnabled = true; public CustomViewPager(Context context) { super(context); } public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onTouchEvent(MotionEvent event) { return this.isPagingEnabled && super.onTouchEvent(event); } @Override public boolean onInterceptTouchEvent(MotionEvent event) { return this.isPagingEnabled && super.onInterceptTouchEvent(event); } public void setPagingEnabled(boolean b) { this.isPagingEnabled = b; } }
And further in the markup, use <com.yourpackage.CustomViewPager>
instead of <android.support.v4.view.ViewPager>
And further in the code, do this:
CustomViewPager viewPager = (CustomViewPager)findViewById(R.id.viewPager); viewPager.setPagingEnabled(false); //выключить скрол viewPager.setPagingEnabled(true); //включить скрол