Ответ
Для анимации в RecyclerView используйте ItemAnimator. По умолчанию включен DefaultItemAnimator. Можно кастомизировать его или создать свой.
Пример анимации элементов при добавлении:
val recyclerView = findViewById<RecyclerView>(R.id.recyclerView)
recyclerView.itemAnimator = DefaultItemAnimator().apply {
addDuration = 500 // время анимации добавления (мс)
}
Кастомная анимация через RecyclerView.ItemAnimator:
class CustomAnimator : DefaultItemAnimator() {
override fun animateAdd(holder: RecyclerView.ViewHolder): Boolean {
holder.itemView.alpha = 0f
holder.itemView.animate().alpha(1f).setDuration(300).start()
return super.animateAdd(holder)
}
}
// Применение:
recyclerView.itemAnimator = CustomAnimator()
Для более сложных анимаций можно использовать ItemTouchHelper или библиотеки вроде RecyclerViewAnimations.