美文网首页Android进阶之路Android开发经验谈Android开发
viewpager嵌套scrollview导致不能左右滑动

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

作者: 喂_balabala | 来源:发表于2017-12-27 10:45 被阅读23次

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;
    }

相关文章

网友评论

    本文标题:viewpager嵌套scrollview导致不能左右滑动

    本文链接:https://www.haomeiwen.com/subject/ncnygxtx.html