PullToRefresh icon indicating copy to clipboard operation
PullToRefresh copied to clipboard

scrollview 的子view 设置了onClick 事件之后无法滑动的问题

Open 1212300114 opened this issue 8 years ago • 1 comments

目前我给你的XScrollView添加了如下 event 拦截解决了问题 @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return ev.getAction() == MotionEvent.ACTION_MOVE || super.onInterceptTouchEvent(ev); }

1212300114 avatar Apr 13 '16 05:04 1212300114

这个很有用,感谢。我的 XScrollView 里面有一个 ViewPager,参考楼主提供的思路,再做一些修改,就能实现左右滑和上下滑不冲突了。

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    switch (ev.getAction()) {
        case MotionEvent.ACTION_DOWN:
            lastY = ev.getRawY();
            lastX = ev.getRawX();
            break;
        case MotionEvent.ACTION_MOVE:
            final float deltaY = ev.getRawY() - lastY;
            final float deltaX = ev.getRawX() - lastX;
            if (Math.abs(deltaY) > 3 * Math.abs(deltaX)) {
                // 拦截
                return true;
            } else {
                return false;
            }
    }
    return ev.getAction() == MotionEvent.ACTION_MOVE || super.onInterceptTouchEvent(ev);
}

xiaokesheng avatar Oct 20 '16 11:10 xiaokesheng