2

私はギャラリーアプリを作ろうとしています。次のボタンを押すと「次へ」と「戻る」の2つのボタンがあり、次の画像を表示する必要があり、スワイプして画像を変更する必要があります。イメージアダプターで試してみました。しかし、ボタンで画像を変更することを知りません。

4

3 に答える 3

7

スワイプを検出する新しいクラスを作成し、それを使用するインスタントを作成できます。

public class SwipeDetect は OnTouchListener を実装します {

private final GestureDetector gestureDetector = new GestureDetector(new GestureListener());

public boolean onTouch(final View view, final MotionEvent motionEvent) {
    return gestureDetector.onTouchEvent(motionEvent);
}

private final class GestureListener extends SimpleOnGestureListener {

    private static final int SWIPE_THRESHOLD = 100;
    private static final int SWIPE_VELOCITY_THRESHOLD = 100;

    @Override
    public boolean onDown(MotionEvent e) {
        return true;
    }

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
        boolean result = false;
        try {
            float diffY = e2.getY() - e1.getY();
            float diffX = e2.getX() - e1.getX();
            if (Math.abs(diffX) > Math.abs(diffY)) {
                if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
                    if (diffX > 0) {
                        onSwipeRight();
                    } else {
                        onSwipeLeft();
                    }
                }
            } else {
                if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) {
                    if (diffY > 0) {
                        onSwipeBottom();
                    } else {
                        onSwipeTop();
                    }
                }
            }
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return result;
    }
}

public void onSwipeRight() {
}

public void onSwipeLeft() {
}

public void onSwipeTop() {
}

public void onSwipeBottom() {
} }

これを使って:

YourImageView.setOnTouchListener(new SwipeDetect() {
            public void onSwipeRight() {
                //Your code here
            }

            public void onSwipeLeft() {
                //Your code here
            }
        });

イメージビュー、レイアウトに使用できます...

于 2013-06-28T07:30:44.087 に答える
1

このチュートリアルを参考にして、ボタン付きのギャラリーを実装してみてください。

このチュートリアルでは、前に矢印ボタンを使用します。

このチュートリアルでは、さらにいくつかの機能を実装します。

お気に入り:

画面のサムおよびフル イメージビュー。

そのハイライトを選択した親指の画像から。

矢印ボタンでも画像を変更できます(次/前)。

于 2013-06-28T08:56:15.550 に答える
0

これを出発点として試してみてください。ここに示すチュートリアルを実装することもできます。

于 2013-06-28T07:18:15.660 に答える