ViewPager禁止滑动已经去掉默认的滑动效果。

 最开始做的整个页面都可以滑动类似微信,但后来首页改版,frament内的滑动效果太多,就要去掉整个activity的滑动效果,但是想改起来快一点,就想到把viewpager滑动效果禁止掉,只能点击选择,上网一搜还真有并且很好用就推荐下。但是点击选择后还有滑动的效果,后来就想把viewpager的滑动动画去掉,搜了搜没找到,后来发现把滑动的切换时间可以改成不需要切换时间,这样就ok了,下面是源码。


import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;


public class NoScrollViewPager extends ViewPager {
    private boolean noScroll = true; //true 代表不能滑动 //false 代表能滑动
 
    public NoScrollViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }
 
    public NoScrollViewPager(Context context) {
        super(context);
    }
 
    public void setNoScroll(boolean noScroll) {
        this.noScroll = noScroll;
    }
 
    @Override
    public void scrollTo(int x, int y) {
        super.scrollTo(x, y);
    }
 
    @Override
    public boolean onTouchEvent(MotionEvent arg0) {
        /* return false;//super.onTouchEvent(arg0); */
        if (noScroll)
            return false;
        else
            return super.onTouchEvent(arg0);
    }
 
    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
        if (noScroll)
            return false;
        else
            return super.onInterceptTouchEvent(arg0);
    }
 
    @Override
    public void setCurrentItem(int item, boolean smoothScroll) {
        super.setCurrentItem(item, smoothScroll);
    }
 
    @Override
    public void setCurrentItem(int item) {
        super.setCurrentItem(item, false);//表示切换的时候,不需要切换时间。
    }
 
}

你可能感兴趣的:(ViewPager禁止滑动已经去掉默认的滑动效果。)