web-dev-qa-db-ja.com

スワイプ/フリングでビューを切り替えるAndroidビューを作成する方法

Androidスワイプ/フリングで複数のビューを切り替えるアプリでビューを作成したいと思います。多かれ少なかれAndroidランチャーは、ビューを切り替えるときに動作します。特に、

  1. スワイプするとビューが反転します。
  2. 一般に、スワイプはビュー間で反転します。すべてのビューにまたがってはなりません。
  3. ゆっくりスワイプすると、スワイプしているときにビューがドラッグするのが見えるはずです。ランチャーが行う方法。

Romain Guyの ブログ投稿 に従って、ViewFlipperとGestureOverlayViewを使用してみましたが、ユーザーがスワイプしているときにインジケーターが表示されません。これにより、発見が難しくなります。これが、おそらくLauncherが彼らのやり方で行う理由です。

ギャラリーオブジェクトを使用してみましたが、左から右にスワイプすると、ユーザーを次のビューに移動するのではなく、すべてのビューを飛ばす一定の勢いがあります。

私がやろうとしていることを達成する良い方法はありますか?

32
emmby

これは古い質問ですが、ViewPagerはまったく同じ目的で作成されています。 ViewPagerはAndroid互換パッケージの一部であり、詳細は http://Android-developers.blogspot.com/2011/08/horizo​​ntal-view-swiping-with- viewpager.html

27
binW

Horizo​​ntalPager をご覧ください。実際には RealViewSwitcher に基づいており、これはAndroidホームスクリーンのコードに基づいており、ドラッグフィードバックによるスナップページングとネストされた垂直スクロールをサポートしていますサブビュー:高速スワイプのジェスチャサポートだけではありませんが、これにより、そこへの道の一部が得られる可能性があります(投稿を歓迎します)。

編集:2012年の時点で、Googleの ViewPager を使用する方がはるかに優れています。これはcompatライブラリにあります。

14
Yoni Samlan

このプロジェクト内でSwipeViewを確認してください https://github.com/fry15/uk.co.jasonfry.Android.tools まさにあなたがやりたいことを実行し、実装は非常に簡単です。

6
Jeff Gilfelt

@CommonsGuyはそれを行うためにViewFlipperを拡張しました。 https://github.com/commonsguy/cwac-viewswiper これはまだ使用していないので、OnTochListenerを作成する必要がない場合、ランチャーのように指で移動するかどうかはわかりませんme.ACTION_MOVEであなたのためにそれを行うには、ビューを更新してその位置を変更します。別の回答が得られない場合は、家に帰ったときにサンプルコードを投稿します。

0
FoamyGuy