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;
    }
    原文作者:喂_balabala
    原文地址: https://www.jianshu.com/p/933bb48bde40
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞