Android进阶之路Android开发经验谈Android开发

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

2017-12-27  本文已影响23人  喂_balabala

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;
    }
上一篇 下一篇

猜你喜欢

热点阅读