ItemAnimator
abstract class ItemAnimator
kotlin.Any | |
↳ | androidx.recyclerview.widget.RecyclerView.ItemAnimator |
This class defines the animations that take place on items as changes are made to the adapter. Subclasses of ItemAnimator can be used to implement custom animations for actions on ViewHolder items. The RecyclerView will manage retaining these items while they are being animated, but implementors must call dispatchAnimationFinished(ViewHolder)
when a ViewHolder's animation is finished. In other words, there must be a matching dispatchAnimationFinished(ViewHolder)
call for each animateAppearance()
, animateChange()
animatePersistence()
, and animateDisappearance()
call.
By default, RecyclerView uses DefaultItemAnimator
.
Summary
Nested classes | |
---|---|
The set of flags that might be passed to |
|
abstract |
This interface is used to inform listeners when all pending or running animations in an ItemAnimator are finished. |
open |
A simple data structure that holds information about an item's bounds. |
Constants | |
---|---|
static Int |
This ViewHolder was not laid out but has been added to the layout in pre-layout state by the |
static Int |
The Item represented by this ViewHolder is updated. |
static Int |
Adapter |
static Int |
The position of the Item represented by this ViewHolder has been changed. |
static Int |
The Item represented by this ViewHolder is removed from the adapter. |
Public constructors | |
---|---|
<init>() This class defines the animations that take place on items as changes are made to the adapter. |
Public methods | |
---|---|
abstract Boolean |
animateAppearance(@NonNull viewHolder: RecyclerView.ViewHolder, @Nullable preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo?, @NonNull postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo) Called by the RecyclerView when a ViewHolder is added to the layout. |
abstract Boolean |
animateChange(@NonNull oldHolder: RecyclerView.ViewHolder, @NonNull newHolder: RecyclerView.ViewHolder, @NonNull preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo, @NonNull postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo) Called by the RecyclerView when an adapter item is present both before and after the layout and RecyclerView has received a |
abstract Boolean |
animateDisappearance(@NonNull viewHolder: RecyclerView.ViewHolder, @NonNull preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo, @Nullable postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo?) Called by the RecyclerView when a ViewHolder has disappeared from the layout. |
abstract Boolean |
animatePersistence(@NonNull viewHolder: RecyclerView.ViewHolder, @NonNull preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo, @NonNull postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo) Called by the RecyclerView when a ViewHolder is present in both before and after the layout and RecyclerView has not received a |
open Boolean |
canReuseUpdatedViewHolder(@NonNull viewHolder: RecyclerView.ViewHolder) When an item is changed, ItemAnimator can decide whether it wants to re-use the same ViewHolder for animations or RecyclerView should create a copy of the item and ItemAnimator will use both to run the animation (e.g. cross-fade). |
open Boolean |
canReuseUpdatedViewHolder(@NonNull |