0

いくつかの画像を表示する必要があるプロジェクトがあります。ギャラリー ウィジェットが非推奨になったとしても、これに費やす時間があまりないので、最良の選択のようです。

Android のフォト ギャラリーを模倣し、上下にスワイプすると画像が削除されるようにしたいと考えています (下のスクリーンショットを参照)。別の SO の質問で、縦方向のスワイプを検出できることがわかりました (以下のコードを参照) が、Android のフォト ギャラリーのように、移動中に画像を移動したいと考えています。

さらに、彼らのアプリには本当に素晴らしいものがあります。スワイプはプログレッシブであるため、画像を削除するには、画像を極端な境界 (上または下) に移動する必要があります。削除をキャンセルしたい場合は、画像から指を離すだけです。

この機能を実装するにはどうすればよいですか?

public class CustomGallery extends Gallery
{
    [...]

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
    {
        if (Math.abs(velocityX) > Math.abs(velocityY))
            // Moving horizontally
        else
            // Moving vertically

        return super.onFling(e1, e2, velocityX, velocityY);
    }
}

注: 上または下のスワイプ機能が実装されていて、中央ロックがある場合は、Horizo​​ntalScrollView に基づいて回答を受け入れることもできます。

スワイプ前 上にスワイプ!

4

1 に答える 1