Android listview, pase a la acción

Tengo listview con algún texto. Quiero mostrar imágenes en la acción de deslizar (casi como en la aplicación de Gmail). Por ejemplo, si deslizo de izquierda a derecha, mi elemento de lista se mueve hacia la derecha y la imagen se desliza desde la izquierda. Mi elemento de lista puede moverse a la derecha no más que el ancho de la imagen. Después de que el golpe se detiene, el elemento de la lista se mueve a la posición inicial. ¿Cómo podría hacer tal cosa? ejemplo

3 Solutions collect form web for “Android listview, pase a la acción”

echa un vistazo a esto .

Allí puede ver el deslizador de vista de lista a la derecha para mostrar las vistas.

Chasquido:

Introduzca aquí la descripción de la imagen

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> 

puede utilizar el evento onFling () de gesturedetector. le dará los puntos motionevent y los puntos de la velocidad del tacto usando que usted puede identificar el gesto y puede cargar una visión usando las animaciones como de izquierda a derecha y derecha a la izquierda.

No pude encontrar ninguna biblioteca que hace eso, pero no es difícil hacerlo por usted mismo. Como Nick señaló pagar una mirada a android-swipetodismiss , mira SwipeDismissListViewTouchListener.java .

En primer lugar, debe crear una View personalizada para su hijo de ListView . Necesitará un ImageView que esté superpuesto por otra View que contenga el texto.

A continuación, agregue un onTouch() a su ListView . En MotionEvent.ACTION_DOWN (cuando inicia el gesto), toma las coordenadas táctiles y calcula qué niño en el ListView estás tocando, por ejemplo:

  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; } } 

En MotionEvent.ACTION_MOVE se mide la diferencia en coordenadas X entre el punto que tocó en MotionEvent.ACTION_DOWN y la coordenada actual:

 float deltaX = motionEvent.getRawX() - mDownX; 

Así que usted ha traducido la View que contiene el texto para que el ImageView se revela:

 mDownView.setTranslationX(deltaX); 

Al levantar el dedo, sólo establece mDownView .setTranslationX(0) y la imagen se cubre de nuevo. Esto es sólo una guía, hay algunos detalles que no están cubiertos, pero usted debe ser capaz de comenzar con esto.

  • No es posible establecer SwipeFlingAdapterView desde el adaptador de matriz
  • Biblioteca avanzada de RecyclerView - ejemplos de código
  • Android ListView Deslizar hacia la derecha y hacia la izquierda para aceptar y rechazar
  • Cómo implementar Swipe en Android juego sin vista
  • Cierre una actividad pasando de derecha a izquierda con una animación suave para ir a la segunda actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.