自定义ViewPager 禁止滑动和去除滑动效果

Posted 静思浅行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义ViewPager 禁止滑动和去除滑动效果相关的知识,希望对你有一定的参考价值。

自定义ViewPager 禁止滑动和去除滑动效果

仿微信去除点击底部按钮 viewPager 页面切换效果 同时可以手动设置viewPager的是否可以手动滑动

viewPager.setNoScroll(true); //禁止手动滑动

代码如下:

/**
 * 手动控制viewpager是否可以左右滑动
 * 去除滑动动画
 * setNoScroll(boolean noScroll)
 *
 * @author ex-panyong
 */
public class NoScrollViewPager extends ViewPager 
    private boolean noScroll = 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); */
        switch(arg0.getAction())
        


        return !noScroll && super.onTouchEvent(arg0);
    

    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) 
        return !noScroll && super.onInterceptTouchEvent(arg0);
    

    @Override
    public void setCurrentItem(int item, boolean smoothScroll) 
        super.setCurrentItem(item, smoothScroll);
    

    @Override
    public void setCurrentItem(int item) 
        //false 去除滚动效果
        super.setCurrentItem(item,false);
    



以上是关于自定义ViewPager 禁止滑动和去除滑动效果的主要内容,如果未能解决你的问题,请参考以下文章

Android禁止ViewPager左右滑动

如何禁止Gridview上下滑动

自定义View 之利用ViewPager 实现画廊效果(滑动放大缩小)

自定义View 之利用ViewPager 实现画廊效果(滑动放大缩小)

ViewPager限制滑动

ViewPager1嵌入ViewPager2,两者重叠,怎么禁止ViewPager1的滑动功能?