¿Cómo animar el elemento en ListView cuando se hace clic?
Quiero tener un ListView que cuando hago clic en el elemento de la vista de diapositiva a la izquierda.
Así que tengo:
- Cómo ocultar la vista cuando se hace la animación en android?
- Api 21 Circular Reveal La animación no funciona
- ¿Cómo puedo hacer animación vibrante para ImageView
- Transición de elemento compartido entre fragmentos que pertenecen a diferentes actividades en Android lollipop
- Android: ¿Animación de Scroller?
listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { arg1.startAnimation(openAnimation); } });
Sin embargo, la animación se aplica a los diferentes elementos de la lista en lugar de la que se hace clic en. El comportamiento parece ser al azar como en algún momento sucedió a más de un elemento al mismo tiempo.
Como sospecho que esto es debido a la forma de reutilizar el adaptador de su vista para crear el elemento. Fui a modificar el método getView en mi adaptador para inflar nueva vista cada vez que se está llamando. Entonces la animación no sucede más.
¿Hay una manera de resolver esto? Intenté mover la animación a dentro de mi adaptador pero después no puedo asociarlo con la otra acción en el Listview.
En última instancia, quiero que el elemento sea clicable, pero cuando deslizar izquierda / derecha revelar botón de eliminación (iOS eliminar el comportamiento). ¿Estoy en el camino equivocado? Esto debería ser posible aunque como Android puede implementar deslizar para eliminar en la barra de notificación.
- Hacer una animación de fragmentos de inserción
- ¿Cómo animar un icono para la vista expand / collapse?
- Usando la lista de animación de android
- Animación de escala de Android en la vista
- Rendering animación Maya en Android?
- ClipChildren no funciona
- Android: mostrar / ocultar una vista utilizando una animación
- Android - AnimatorSet, animador de objetos - cadena de animación de rebote está amalgamando?
Recomiendo que compruebe este hilo también.
No creo que esto sea posible sin tener que modificar su adaptador para adaptarse a este tipo de comportamiento. Por lo que entiendo, no tienes ningún problema con la implementación del código de reconocimiento de los gestos de deslizamiento en diferentes filas ListView, sólo con la animación debe seguir este gesto de acuerdo a fila (s).
Yo reescribiría el adaptador para adaptarse a al menos 2 tipos de fila: filas normales y filas que se eliminarán. En el método "getView ()" de su adaptador, sólo debe volver a usar el convertidor de vistas normales. Las filas que se van a eliminar no deben reutilizarlas, de modo que animarlas no modifica las otras. Al hacer clic en una fila normal, primero debe decirle al adaptador que la fila en la posición de clic es ahora del tipo to-be-deleted, llame a .notifyDatasetChanged () y, a continuación, inicie la animación en esa fila.
- Reemplazar comentario de java con registro durante o antes del tiempo de ejecución
- Servicios de Android: Bind on demand vs. Bind on #onCreate ()