Animación de transición de diseño de Android al eliminar después agregar el mismo niño

Escenario: Estoy creando una función de arrastrar y soltar dentro de un diseño lineal. Es un diseño muy simple: un LinearLayout en la raíz y muchas vistas dentro (para fines de prueba son sólo instancias de la clase View con fondos de colores diferentes). He creado el sistema, usted puede "recoger" una vista que es causada por un clic largo en una de las vistas del niño. Esto crea la sombra de arrastre y en este punto llamo a removeView () en el contenedor para dar la impresión de que la vista se ha recogido. Mantengo esta visión en memoria. A medida que se arrastra la vista, se mueve una vista de marcador de posición para mostrar el lugar de la caída eventaul para la ubicación de arrastrar si se solta la sombra arrastrada. Esto también funciona bien y la vista eliminada se agrega de nuevo al índice donde estaba el marcador de posición.

Problema: Al activar 'android: animateLayoutChanges', las animaciones hacen que todo este proceso se vea mucho más suave. El único artefacto creado por esto es que cuando se arrastra la vista arrastrada (la misma vista que se eliminó cuando la arrastre arrancada se agrega de nuevo al contenedor) muestra una animación de transición desde la posición original de la vista arrastrada a su nueva posición. Al agregar una nueva vista (por ejemplo, el marcador de posición se crea cada vez que cambia de posición) se atenúa en su lugar.

Análisis: desde el aspecto de ello, el contenedor está recordando la vista que se eliminó y por lo tanto cuando se agrega la misma vista de nuevo, el animador lo interpreta como un movimiento en lugar de una nueva vista que se agrega.

Pregunta: ¿Cómo puedo evitar que este comportamiento del animador interprete la eliminación y la adición del mismo niño como un movimiento en lugar de eliminar y agregar operaciones separadas?

Respuesta: Aquí es donde entras.

Gracias por adelantado.

  • Arrastre el elemento de lista desplegable en otro elemento
  • Programaticamente finaliza un Android DragEvent
  • Arrastrar y soltar con onDraglistener animar para volver a la posición original si no se deja caer en el objetivo
  • Java.util.ConcurrentModificationException in View.setVisibility
  • Recuperación de la posición exacta de la vista de Android
  • Android - Arrastrar y soltar - Animación sombra a destino
  • Establecer anclaje personalizado al arrastrar una vista
  • Cómo hacer que el TextView arrastre en LinearLayout suave, en android?
  • Jquery arrastrar caída cuelga o se queda bloqueado para el navegador android
  • Ayuda con los problemas de ListView de la interfaz de usuario de Android
  • ¿Cómo restringir el arrastrar y soltar a lo largo del eje y sólo en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.