viewpager嵌套scrollview导致不能左右滑动

viewpager嵌套scrollview 造成scrollview没滑到顶部和底部的时候viewpager不能左右滑动
解决方法:重写scrollview的onInterceptTouchEvent

float mDownX;
    float mDownY;
    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        switch (ev.getAction()) {
            case MotionEvent.ACTION_DOWN:
                //ev.getRawX() 拿到相对于屏幕的坐标
                mDownX = ev.getX();//拿到相对于控件本身的位置
                mDownY = ev.getY();


                getParent().requestDisallowInterceptTouchEvent(true);
                break;
            case MotionEvent.ACTION_MOVE:
                float moveX = ev.getX();
                float moveY = ev.getY();
                //计算x轴的变化量
                float X = moveX - mDownX;
                //计算y轴变化量
                float Y = moveY - mDownY;
                //计算x轴的变化量
                float diffX = Math.abs(moveX - mDownX);
                //计算y轴变化量
                float diffY = Math.abs(moveY - mDownY);

                    getParent().requestDisallowInterceptTouchEvent(false);
                    return true;
                }
                break;
            case MotionEvent.ACTION_UP:

                break;
        }

返回super可能会导致ACTION事件不响应
        return super.onInterceptTouchEvent(ev);
//        return true;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容