zoukankan      html  css  js  c++  java
  • Android 禁止Viewpager左右滑动功能

    做项目要求某种情况下ViewPager不能滑动

    百度后发现重写ViewPager,覆盖ViewPager的onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法,这两个方法的返回值都是boolean类型的,只需要将返回值改为false,那么ViewPager就不会消耗掉手指滑动的事件了

    public class NoScrollViewPager extends ViewPager {
        
        private boolean noScroll = false;
     
        public NoScrollViewPager(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
     
        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) {
            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);
        }
     
    }
  • 相关阅读:
    学习进度条
    0302我的感想
    1217实验四 递归下降语法分析程序设计
    1118 实验三 有限自动机的构造与识别
    1112我的访问与评论日记
    1014 我的C语言文法定义与C程序推导过程
    0917词法分析
    命令解释程序的编写
    构建之法前三章读后感
    复利计算4.0
  • 原文地址:https://www.cnblogs.com/derekhan/p/11062113.html
Copyright © 2011-2022 走看看