Animaciones fáciles en RecyclerView con DiffUtil
Antonio Leiva

Animar las modificaciones de elementos en un RecyclerView es fácil si sabes cómo.

En este vídeo te muestro con ejemplos prácticos cómo si solo utilizamos notifyDataSetChanged(), los elementos no se animan.

Para ello hace falta usar funciones que identifican al adapter cuáles son los cambios exactos que han ocurrido, como notifyItemInserted(), o notifyItemRemoved()

Pero cuando los cambios que ocurren son complejos, calcular las diferencias y realizar las operaciones correctamente puede ser muy complejo.

Es por ello por lo que la herramienta DiffUtil se vuelve imprescindible.

Quizá también te interese…

Los 7 mejores cursos online para aprender Android desde cero en 2021

Los 7 mejores cursos online para aprender Android desde cero en 2021

No hay que ser un genio para darse cuenta de que el sector del desarrollo de aplicaciones móviles está en auge y cada vez más gente busca aprender Android para iniciarse en esta profesión. Atraídos, cómo no, por la posibilidad de obtener un empleo estable, (muy) bien...

Simplifica el código de RecyclerView con ListAdapter

Simplifica el código de RecyclerView con ListAdapter

En artículos anteriores sobre RecyclerView, vimos cómo crear un Adapter clásico y también cómo usar un DiffUtil genérico para animar las modificaciones de elementos. Pero la realidad es que la mayoría de las veces necesitamos algo bastante típico: tenemos una lista de...

0 comentarios

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de Antonio Leiva Gordillo, con el fin de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento de la parte interesada. Si no se acepta, no podrás comentar en este blog. Los datos que proporciona solo se utilizan para evitar el correo no deseado y no se usarán para nada más. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición en contacto@devexperto.com.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *