J'ai listview avec du texte. Je veux montrer des images sur l'action de balayage (presque comme dans l'application de gmail). Par exemple, si je balaye de gauche à droite - mon élément de liste se déplace vers la droite, et l'image glisse de la gauche. Mon élément de liste ne peut pas bouger plus que la largeur de l'image. Après l'arrêt du balayage, l'élément de liste se déplace vers la position de départ. Comment pourrais-je faire une telle chose? Android listview, glisser vers l'action
Répondre
Vous pouvez utiliser l'événement onFling() de gesturedetector. il vous donnera les points de mouvement et les points de vélocité en utilisant ce que vous pouvez identifier le geste et peut charger une vue en utilisant des animations comme de gauche à droite et de droite à gauche.
Je n'ai pas trouvé de bibliothèque qui fait exactement cela, mais ce n'est pas difficile de le faire par vous-même. Comme Nick a souligné jeter un oeil à android-swipetodismiss, regardez SwipeDismissListViewTouchListener.java. D'abord, vous devez créer un View
personnalisé pour l'enfant de ListView
. Vous aurez besoin d'un ImageView
qui est chevauché par un autre View
qui contient le texte.
Puis, vous ajoutez un écouteur onTouch()
à votre ListView
. Sur MotionEvent.ACTION_DOWN
(lorsque vous démarrez le geste), vous prenez les coordonnées de contact et de calculer quel enfant dans le ListView
que vous touchez, par exemple:
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;
}
}
Sur MotionEvent.ACTION_MOVE
vous mesurer la différence de coordonnées X entre le point touché dans MotionEvent.ACTION_DOWN
et la coordonnée actuelle:
float deltaX = motionEvent.getRawX() - mDownX;
vous avez donc ensuite traduire le View
qui contient le texte de sorte que le ImageView
est révélé:
mDownView.setTranslationX(deltaX);
Lorsque vous levez le doigt, il vous suffit de régler mDownView .setTranslationX(0)
et l'image est recouverte. Ceci est juste un guide, il y a quelques détails qui ne sont pas couverts, mais vous devriez être en mesure de commencer avec cela.
consultez this.
Vous pouvez voir le balayage de la liste vers la droite pour afficher les vues.
snap:
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. Android Glisser ListView et ContextMenu
- 2. ListView cellulaire Expand (glisser vers le bas) animation
- 3. Opération glisser-déposer dans listview dans android?
- 4. Android glisser et déposer des problèmes ListView
- 5. glisser-déposer Android listview et RESTORE
- 6. Android ListView Like PhoneBook
- 7. Android Studio Glisser vers des vues différentes
- 8. Glisser-Déplier Exclandable Listview
- 9. ListView notify Colonne glisser
- 10. ListView ralentir ViewPager glisser
- 11. jQuery Mobile glisser vers le bas et glisser vers le haut pour le site mobile Android
- 12. WPF listview glisser sans désélection
- 13. Android ListView tolérance
- 14. Android ListView OverScrolling problème
- 15. réorganisation des éléments listview par glisser-déposer en utilisant Android
- 16. Android Drag-Sort-Listview - lancer par glisser-déposer par programmation
- 17. Android comment effectuer glisser n déposer avec les éléments listview
- 18. Glisser dans la liste des éléments dans ListView Android?
- 19. glisser et déposer des éléments dans listview dans Android?
- 20. android listview glisser pour supprimer comme dans l'application gmail
- 21. glisser-déposer des deux côtés listview dans android
- 22. réorganisables ListView par glisser-déposer
- 23. Android ListView départ offset?
- 24. Android pagination GridView/ListView?
- 25. Delphi - Glisser-déposer avec ListView
- 26. glisser des images en android
- 27. comment glisser vers l'activité suivante
- 28. android glisser vers la droite et la gauche gridView
- 29. Glisser vers la droite dans la fenêtre android se ferme
- 30. ListView chute vers le bas
Avez-vous jamais ce résoudre? Je cherche à faire quelque chose de similaire. – egfconnor
Non, je n'ai pas trouvé d'exemple bien documenté – BoredT
J'ai fini par créer ma propre solution. Je serai ouvert sourcing bientôt et répondra après. C'est un peu différent mais devrait être très adaptable à votre utilisation. Je pourrais même être en mesure de le rouler en incorporant votre cas d'utilisation. – egfconnor