0

私の Android アプリでは、線形レイアウトを使用しています。その中に、複数行のテキストビューを含むスクロールビューがあります。

左から右にフリックしてスクロールビューを次のページにスクロールする機能を追加するために GestureListener を追加しようとしましたが、GestureListener がフリップ アクションをキャプチャできないことがわかりました。

上記の動作をどのように実装できますか? ありがとう

4

1 に答える 1

0

代わりにを使用する必要があり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 に答える