私はリストビューをいくつかのテキストで持っています。私はスワイプアクションでイメージを表示したい(ほとんどGmailアプリのように)。たとえば、左から右にスワイプすると、リストアイテムが右に移動し、画像が左からスライドしています。私のリストアイテムはイメージの幅を超えて移動することはできません。スワイプが停止した後、リスト項目が開始位置に移動しています。どうすればそんなことができますか? Android listview、スワイプからアクション
答えて
gesturedetectorのonFling()イベントを使用できます。モーションイベントポイントを指定し、ジェスチャーを識別し、左から右、右から左のようなアニメーションを使用してビューを読み込むことができることを使用してベロシティポイントをタッチします。
これだけのライブラリは見つかりませんでしたが、自分で作るのは難しくありません。ニックが指摘したようにandroid-swipetodismissを見て、SwipeDismissListViewTouchListener.javaを見てください。
まず、ListView
さんの子供のためにカスタムView
を作成する必要があります。 ImageView
には、テキストが含まれている別のView
が重複している必要があります。
次に、リスナーをListView
に追加します。 (あなたがジェスチャーを起動したとき)MotionEvent.ACTION_DOWN
にあなたが例えば、タッチ座標を取ると、あなたが接触しているListView
のどの子計算:MotionEvent.ACTION_MOVE
オン
int[] listViewCoords = new int[2];
mListView.getLocationOnScreen(listViewCoords);
int x = (int) motionEvent.getRawX() - listViewCoords[0];
int y = (int) motionEvent.getRawY() - listViewCoords[1];
View child;
for (int i = 0; i < childCount; i++) {
child = mListView.getChildAt(i);
child.getHitRect(rect);
if (rect.contains(x, y)) {
mDownView = child;
break;
}
}
あなたはXの違いを測定するには、あなたがタッチ点間の座標MotionEvent.ACTION_DOWN
と現在の座標:
float deltaX = motionEvent.getRawX() - mDownX;
をそれではあなたはImageView
が明らかにされるようにテキストが含まれView
を翻訳しています
mDownView.setTranslationX(deltaX);
指を持ち上げると、mDownView .setTranslationX(0)
に設定され、画像が再び覆われます。これは単なるガイドであり、カバーされていないいくつかの詳細がありますが、これで始めることができるはずです。
チェックアウトthis。
ここでは、リストビューを右にスワイプして表示することができます。
スナップ:
main_activity.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:swipe="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.fortysevendeg.swipelistview.SwipeListView
android:id="@+id/example_swipe_lv_list"
android:listSelector="#00000000"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
swipe:swipeFrontView="@+id/front"
swipe:swipeBackView="@+id/back"
swipe:swipeDrawableChecked="@drawable/choice_selected"
swipe:swipeDrawableUnchecked="@drawable/choice_unselected"
swipe:swipeCloseAllItemsWhenMoveList="true"
swipe:swipeMode="both"
/>
</LinearLayout>
- 1. jQueryでAndroidのキャンセル/バックスワイプ(スワイプを左から右にスワイプ)
- 2. コンテキスト・アクション・バーからListViewアイテムのテキストにアクセスする
- 3. UITABLEVIEWをスワイプで右にスワイプしたときのアクションを追加
- 4. Androidのスワイプ指
- 5. ListViewで2本の指をスワイプする
- 6. Android:SharingActionViewをスワイプの下から
- 7. 文字列[]からAndroidのListViewへ
- 8. ListView Androidのテキストビューから値を取得
- 9. 画像はアクション後にWPFのListViewから消えます
- 10. Android EdittextをListviewアクションに実行しました
- 11. TablayoutはスワイプでAndroid
- 12. iOSで行アクションをスワイプすると画像がUIImageViewから出る
- 13. Android ListView
- 14. Androidから画像をURLからListViewへ
- 15. UITableViewCell右から左へスワイプ
- 16. Android KEYCODE_DPADをスワイプして
- 17. Androidのスワイプ(スライド)メニュー(リスト)
- 18. androidの画像をスワイプ
- 19. Android ListViewサーバからさらにデータをロード
- 20. ViewPager:特定のビューからのみスワイプ
- 21. Android - 縦スワイプと横スワイプで2Dギャラリーを構築する方法
- 22. タブをスワイプ可能なタブにスワイプ可能なタブAndroid
- 23. ListViewでさらにエレメンを追加 - Android
- 24. Android。 ListViewのRadioButtons
- 25. android ListViewサブアイテムデータベース
- 26. カスタムListViewアダプタAndroid
- 27. android listview属性
- 28. Android ListActivity ListView setOnItemClickListener
- 29. android listview multiple views
- 30. Android - ListView inside dialog
あなたがこの問題を解決しましたか?私は似たようなことをしようとしています。 – egfconnor
いいえ、十分に文書化された例が見つかりません – BoredT
私自身が独自のソリューションを作成しました。私はすぐにそれを調達オープンし、後に応答します。それは少し異なりますが、あなたの使用に非常に適応可能でなければなりません。私はあなたのユースケースを組み込むことにそれを巻き込むことさえできるかもしれません。 – egfconnor