ViewPager取消左右滑动切换功能
最近做项目要求某种情况下ViewPager不能滑动,那么我们只需要重写这个方法就可以禁止ViewPager滑动
IndexViewPager.java:
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent; public class IndexViewPager extends ViewPager { private boolean isCanScroll = false; public IndexViewPager(Context context) {
super(context);
} public IndexViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
} public void setScanScroll(boolean isCanScroll) {
this.isCanScroll = isCanScroll;
} @Override
public void scrollTo(int x, int y) {
super.scrollTo(x, y);
} @Override
public boolean onTouchEvent(MotionEvent arg0) {
// TODO Auto-generated method stub
if (isCanScroll) {
return super.onTouchEvent(arg0);
} else {
return false;
} } @Override
public void setCurrentItem(int item, boolean smoothScroll) {
// TODO Auto-generated method stub
super.setCurrentItem(item, smoothScroll);
} @Override
public void setCurrentItem(int item) {
// TODO Auto-generated method stub
super.setCurrentItem(item);
} @Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
// TODO Auto-generated method stub
if (isCanScroll) {
return super.onInterceptTouchEvent(arg0);
} else {
return false;
} }
}
<YourPackeageName.IndexViewPager
android:id="@+id/vPager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:background="#000000"
android:flipInterval="30"
android:persistentDrawingCache="animation" />