0

在我的 android 应用程序中,我有一个线性布局。在其中,有一个包含多行文本视图的滚动视图。

我尝试添加一个 GestureListener 以添加从左到右滑动以将滚动视图滚动到下一页的功能,但我发现 GestureListener 无法捕获翻转动作。

如何实现上述行为?谢谢

4

1 回答 1

0

您必须改用 an OnTouchListener。它不是那么好,但它确实有效。这是我之前做的一个:

scrollView.setOnTouchListener(new OnTouchListener() {
    private float mDownX;
    private float mDownY;
    private boolean mDown = false;

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            mDownX = event.getX();
            mDownY = event.getY();
            mDown = true;
            return false;

        case MotionEvent.ACTION_MOVE:
            if (!mDown) {
                mDownX = event.getX();
                mDownY = event.getY();
                mDown = true;
            }

            return false;

        case MotionEvent.ACTION_UP:
            if (!mDown)
                return false;

            mDown = false;
            float upX = event.getX();
            float upY = event.getY();

            if (Math.abs(upY - mDownY) > SWIPE_MAX_OFF_PATH
                    || Math.abs(upX - mDownX) < SWIPE_MIN_DISTANCE)
                return false;

            int position1 = position;

            if (upX > mDownX)
                // left to right swipe
            else
                // right to left swipe
                            return false;

        default:
            return false;
        }
    }
});
于 2013-10-10T17:24:51.323 回答