0

我在布局中覆盖 onTouchEvent,并且只想处理水平移动。

即,如果发生向左滑动的右侧,那么我将显示下一个/上一个帖子,如果发生任何垂直移动,那么我不会做任何事情,并且会发生父滚动。

我怎样才能做到这一点?

switch (e1.getAction()) {
            case MotionEvent.ACTION_DOWN:
                offsetX = 0;
                offsetY = 0;
                startTouchPoint = new Point((int) e1.getX(), (int) e1.getY());
                break;
            case MotionEvent.ACTION_MOVE:
                movement = new Point(Math.abs((int) e1.getX() - startTouchPoint.x), Math.abs((int) e1.getY() - startTouchPoint.y));
                if (movement.y < movement.x) { // Horizontal movement

                    // Custom code to move to prev/next page.
                } else { // Vertical movement
                   // I need android to handle this.
                }
4

1 回答 1

0

onTouchEvent 返回一个布尔值。

如果事件已被处理,则简单地返回 True,否则返回 false。

有关详细信息,请参阅https://developer.android.com/reference/android/view/View.html#onTouchEvent(android.view.MotionEvent)

于 2016-05-29T05:02:43.257 回答