SimpleItemAnimator

abstract class SimpleItemAnimator : RecyclerView.ItemAnimator

Known direct subclasses
DefaultItemAnimator

This implementation of RecyclerView.ItemAnimator provides basic animations on remove, add, and move events that happen to the items in a RecyclerView.


A wrapper class for ItemAnimator that records View bounds and decides whether it should run move, change, add or remove animations. This class also replicates the original ItemAnimator API.

It uses RecyclerView.ItemAnimator.ItemHolderInfo to track the bounds information of the Views. If you would like to extend this class, you can override obtainHolderInfo method to provide your own info class that extends RecyclerView.ItemAnimator.ItemHolderInfo.

Summary

Public constructors

Public functions

abstract Boolean

Called when an item is added to the RecyclerView.

Boolean

Called by the RecyclerView when a ViewHolder is added to the layout.

Boolean
animateChange(
    oldHolder: RecyclerView.ViewHolder,
    newHolder: RecyclerView.ViewHolder,
    preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo,
    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 notifyItemChanged call for it.

abstract Boolean
animateChange(
    oldHolder: RecyclerView.ViewHolder!,
    newHolder: RecyclerView.ViewHolder!,
    fromLeft: Int,
    fromTop: Int,
    toLeft: Int,
    toTop: Int
)

Called when an item is changed in the RecyclerView, as indicated by a call to notifyItemChanged or notifyItemRangeChanged.

Boolean

Called by the RecyclerView when a ViewHolder has disappeared from the layout.

abstract Boolean
animateMove(
    holder: RecyclerView.ViewHolder!,
    fromX: Int,
    fromY: Int,
    toX: Int,
    toY: Int
)

Called when an item is moved in the RecyclerView.

Boolean

Called by the RecyclerView when a ViewHolder is present in both before and after the layout and RecyclerView has not received a notifyItemChanged call for it or a notifyDataSetChanged call.

abstract Boolean

Called when an item is removed from the RecyclerView.

Boolean

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).

Unit

Method to be called by subclasses when an add animation is done.

Unit

Method to be called by subclasses when an add animation is being started.

Unit

Method to be called by subclasses when a change animation is done.

Unit

Method to be called by subclasses when a change animation is being started.

Unit

Method to be called by subclasses when a move animation is done.

Unit

Method to be called by subclasses when a move animation is being started.

Unit

Method to be called by subclasses when a remove animation is done.

Unit

Method to be called by subclasses when a remove animation is being started.

Boolean

Returns whether this ItemAnimator supports animations of change events.

Unit

Called when an add animation has ended on the given ViewHolder.

Unit

Called when an add animation is being started on the given ViewHolder.

Unit

Called when a change animation has ended on the given ViewHolder.

Unit

Called when a change animation is being started on the given ViewHolder.

Unit

Called when a move animation has ended on the given ViewHolder.

Unit

Called when a move animation is being started on the given ViewHolder.

Unit

Called when a remove animation has ended on the given ViewHolder.

Unit

Called when a remove animation is being started on the given ViewHolder.

Unit
setSupportsChangeAnimations(supportsChangeAnimations: Boolean)

Sets whether this ItemAnimator supports animations of item change events.

Inherited Constants

From androidx.recyclerview.widget.RecyclerView.ItemAnimator
const Int

This ViewHolder was not laid out but has been added to the layout in pre-layout state by the LayoutManager.

const Int

The Item represented by this ViewHolder is updated.

const Int

Adapter notifyDataSetChanged has been called and the content represented by this ViewHolder is invalid.

const Int
FLAG_MOVED = 2048

The position of the Item represented by this ViewHolder has been changed.

const Int

The Item represented by this ViewHolder is removed from the adapter.

Inherited functions

From androidx.recyclerview.widget.RecyclerView.ItemAnimator
Boolean
canReuseUpdatedViewHolder(
    viewHolder: RecyclerView.ViewHolder,
    payloads: (Mutable)List<Any!>
)

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).

Unit

Method to be called by subclasses when an animation is finished.

Unit

Method to be called by subclasses when an animation is started.

Unit

This method should be called by ItemAnimator implementations to notify any listeners that all pending and active item animations are finished.

abstract Unit

Method called when an animation on a view should be ended immediately.

abstract Unit

Method called when all item animations should be ended immediately.

Long

Gets the current duration for which all add animations will run.

Long

Gets the current duration for which all change animations will run.

Long

Gets the current duration for which all move animations will run.

Long

Gets the current duration for which all remove animations will run.

abstract Boolean

Method which returns whether there are any item animations currently running.

Boolean

Like isRunning, this method returns whether there are any item animations currently running.

RecyclerView.ItemAnimator.ItemHolderInfo

Returns a new ItemHolderInfo which will be used to store information about the ViewHolder.

Unit

Called after dispatchAnimationFinished is called by the ItemAnimator.

Unit

Called when a new animation is started on the given ViewHolder.

RecyclerView.ItemAnimator.ItemHolderInfo

Called by the RecyclerView after the layout is complete.

RecyclerView.ItemAnimator.ItemHolderInfo
recordPreLayoutInformation(
    state: RecyclerView.State,
    viewHolder: RecyclerView.ViewHolder,
    @RecyclerView.ItemAnimator.AdapterChanges changeFlags: Int,
    payloads: (Mutable)List<Any!>
)

Called by the RecyclerView before the layout begins.

abstract Unit

Called when there are pending animations waiting to be started.

Unit
setAddDuration(addDuration: Long)

Sets the duration for which all add animations will run.

Unit
setChangeDuration(changeDuration: Long)

Sets the duration for which all change animations will run.

Unit
setMoveDuration(moveDuration: Long)

Sets the duration for which all move animations will run.

Unit
setRemoveDuration(removeDuration: Long)

Sets the duration for which all remove animations will run.

Public constructors

SimpleItemAnimator

Added in 1.0.0
SimpleItemAnimator()

Public functions

animateAdd

Added in 1.0.0
abstract fun animateAdd(holder: RecyclerView.ViewHolder!): Boolean

Called when an item is added to the RecyclerView. Implementors can choose whether and how to animate that change, but must always call dispatchAddFinished when done, either immediately (if no animation will occur) or after the animation actually finishes. The return value indicates whether an animation has been set up and whether the ItemAnimator's runPendingAnimations method should be called at the next opportunity. This mechanism allows ItemAnimator to set up individual animations as separate calls to animateAdd(), animateMove(), animateRemove(), and animateChange come in one by one, then start the animations together in the later call to runPendingAnimations.

This method may also be called for appearing items which were already in the RecyclerView, but for which the system does not have enough information to animate them into view. In that case, the default animation for adding items is run on those items as well.

Parameters
holder: RecyclerView.ViewHolder!

The item that is being added.

Returns
Boolean

true if a later call to runPendingAnimations is requested, false otherwise.

animateAppearance

Added in 1.4.0-alpha01
fun animateAppearance(
    viewHolder: RecyclerView.ViewHolder,
    preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo?,
    postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo
): Boolean

Called by the RecyclerView when a ViewHolder is added to the layout.

In detail, this means that the ViewHolder was not a child when the layout started but has been added by the LayoutManager. It might be newly added to the adapter or simply become visible due to other factors.

ItemAnimator must call dispatchAnimationFinished when the animation is complete (or instantly call dispatchAnimationFinished if it decides not to animate the view).

Parameters
viewHolder: RecyclerView.ViewHolder

The ViewHolder which should be animated

preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo?

The information that was returned from recordPreLayoutInformation. Might be null if Item was just added to the adapter or LayoutManager does not support predictive animations or it could not predict that this ViewHolder will become visible.

postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo

The information that was returned from recordPreLayoutInformation.

Returns
Boolean

true if a later call to runPendingAnimations is requested, false otherwise.

animateChange

Added in 1.4.0-alpha01
fun animateChange(
    oldHolder: RecyclerView.ViewHolder,
    newHolder: RecyclerView.ViewHolder,
    preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo,
    postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo
): Boolean

Called by the RecyclerView when an adapter item is present both before and after the layout and RecyclerView has received a notifyItemChanged call for it. This method may also be called when notifyDataSetChanged is called and adapter has stable ids so that RecyclerView could still rebind views to the same ViewHolders. If viewType changes when notifyDataSetChanged is called, this method will not be called, instead, animateAppearance will be called for the new ViewHolder and the old one will be recycled.

If this method is called due to a notifyDataSetChanged call, there is a good possibility that item contents didn't really change but it is rebound from the adapter. DefaultItemAnimator will skip animating the View if its location on the screen didn't change and your animator should handle this case as well and avoid creating unnecessary animations.

When an item is updated, ItemAnimator has a chance to ask RecyclerView to keep the previous presentation of the item as-is and supply a new ViewHolder for the updated presentation (see: canReuseUpdatedViewHolder. This is useful if you don't know the contents of the Item and would like to cross-fade the old and the new one (DefaultItemAnimator uses this technique).

When you are writing a custom item animator for your layout, it might be more performant and elegant to re-use the same ViewHolder and animate the content changes manually.

When notifyItemChanged is called, the Item's view type may change. If the Item's view type has changed or ItemAnimator returned false for this ViewHolder when canReuseUpdatedViewHolder was called, the oldHolder and newHolder will be different ViewHolder instances which represent the same Item. In that case, only the new ViewHolder is visible to the LayoutManager but RecyclerView keeps old ViewHolder attached for animations.

ItemAnimator must call dispatchAnimationFinished for each distinct ViewHolder when their animation is complete (or instantly call dispatchAnimationFinished if it decides not to animate the view).

If oldHolder and newHolder are the same instance, you should call dispatchAnimationFinishedonly once.

Note that when a ViewHolder both changes and disappears in the same layout pass, the animation callback method which will be called by the RecyclerView depends on the ItemAnimator's decision whether to re-use the same ViewHolder or not, and also the LayoutManager's decision whether to layout the changed version of a disappearing ViewHolder or not. RecyclerView will call animateChange instead of animateDisappearance if and only if the ItemAnimator returns false from canReuseUpdatedViewHolder and the LayoutManager lays out a new disappearing view that holds the updated information. Built-in LayoutManagers try to avoid laying out updated versions of disappearing views.

Parameters
oldHolder: RecyclerView.ViewHolder

The ViewHolder before the layout is started, might be the same instance with newHolder.

newHolder: RecyclerView.ViewHolder

The ViewHolder after the layout is finished, might be the same instance with oldHolder.

preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo

The information that was returned from recordPreLayoutInformation.

postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo

The information that was returned from recordPreLayoutInformation.

Returns
Boolean

true if a later call to runPendingAnimations is requested, false otherwise.

animateChange

Added in 1.0.0
abstract fun animateChange(
    oldHolder: RecyclerView.ViewHolder!,
    newHolder: RecyclerView.ViewHolder!,
    fromLeft: Int,
    fromTop: Int,
    toLeft: Int,
    toTop: Int
): Boolean

Called when an item is changed in the RecyclerView, as indicated by a call to notifyItemChanged or notifyItemRangeChanged.

Implementers can choose whether and how to animate changes, but must always call dispatchChangeFinished for each non-null distinct ViewHolder, either immediately (if no animation will occur) or after the animation actually finishes. If the oldHolder is the same ViewHolder as the newHolder, you must call dispatchChangeFinished once and only once. In that case, the second parameter of dispatchChangeFinished is ignored.

The return value indicates whether an animation has been set up and whether the ItemAnimator's runPendingAnimations method should be called at the next opportunity. This mechanism allows ItemAnimator to set up individual animations as separate calls to animateAdd(), animateMove(), animateRemove(), and animateChange come in one by one, then start the animations together in the later call to runPendingAnimations.

Parameters
oldHolder: RecyclerView.ViewHolder!

The original item that changed.

newHolder: RecyclerView.ViewHolder!

The new item that was created with the changed content. Might be null

fromLeft: Int

Left of the old view holder

fromTop: Int

Top of the old view holder

toLeft: Int

Left of the new view holder

toTop: Int

Top of the new view holder

Returns
Boolean

true if a later call to runPendingAnimations is requested, false otherwise.

animateDisappearance

Added in 1.4.0-alpha01
fun animateDisappearance(
    viewHolder: RecyclerView.ViewHolder,
    preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo,
    postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo?
): Boolean

Called by the RecyclerView when a ViewHolder has disappeared from the layout.

This means that the View was a child of the LayoutManager when layout started but has been removed by the LayoutManager. It might have been removed from the adapter or simply become invisible due to other factors. You can distinguish these two cases by checking the change flags that were passed to recordPreLayoutInformation.

Note that when a ViewHolder both changes and disappears in the same layout pass, the animation callback method which will be called by the RecyclerView depends on the ItemAnimator's decision whether to re-use the same ViewHolder or not, and also the LayoutManager's decision whether to layout the changed version of a disappearing ViewHolder or not. RecyclerView will call animateChange instead of animateDisappearance if and only if the ItemAnimator returns false from canReuseUpdatedViewHolder and the LayoutManager lays out a new disappearing view that holds the updated information. Built-in LayoutManagers try to avoid laying out updated versions of disappearing views.

If LayoutManager supports predictive animations, it might provide a target disappear location for the View by laying it out in that location. When that happens, RecyclerView will call recordPostLayoutInformation and the response of that call will be passed to this method as the postLayoutInfo.

ItemAnimator must call dispatchAnimationFinished when the animation is complete (or instantly call dispatchAnimationFinished if it decides not to animate the view).

Parameters
viewHolder: RecyclerView.ViewHolder

The ViewHolder which should be animated

preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo

The information that was returned from recordPreLayoutInformation.

postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo?

The information that was returned from recordPostLayoutInformation. Might be null if the LayoutManager did not layout the item.

Returns
Boolean

true if a later call to runPendingAnimations is requested, false otherwise.

animateMove

Added in 1.0.0
abstract fun animateMove(
    holder: RecyclerView.ViewHolder!,
    fromX: Int,
    fromY: Int,
    toX: Int,
    toY: Int
): Boolean

Called when an item is moved in the RecyclerView. Implementors can choose whether and how to animate that change, but must always call dispatchMoveFinished when done, either immediately (if no animation will occur) or after the animation actually finishes. The return value indicates whether an animation has been set up and whether the ItemAnimator's runPendingAnimations method should be called at the next opportunity. This mechanism allows ItemAnimator to set up individual animations as separate calls to animateAdd(), animateMove(), animateRemove(), and animateChange come in one by one, then start the animations together in the later call to runPendingAnimations.

Parameters
holder: RecyclerView.ViewHolder!

The item that is being moved.

fromX: Int

x coordinate from which to start animation.

fromY: Int

y coordinate from which to start animation.

toX: Int

x coordinate at which to end animation.

toY: Int

y coordinate at which to end animation.

Returns
Boolean

true if a later call to runPendingAnimations is requested, false otherwise.

animatePersistence

Added in 1.4.0-alpha01
fun animatePersistence(
    viewHolder: RecyclerView.ViewHolder,
    preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo,
    postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo
): Boolean

Called by the RecyclerView when a ViewHolder is present in both before and after the layout and RecyclerView has not received a notifyItemChanged call for it or a notifyDataSetChanged call.

This ViewHolder still represents the same data that it was representing when the layout started but its position / size may be changed by the LayoutManager.

If the Item's layout position didn't change, RecyclerView still calls this method because it does not track this information (or does not necessarily know that an animation is not required). Your ItemAnimator should handle this case and if there is nothing to animate, it should call dispatchAnimationFinished and return false.

ItemAnimator must call dispatchAnimationFinished when the animation is complete (or instantly call dispatchAnimationFinished if it decides not to animate the view).

Parameters
viewHolder: RecyclerView.ViewHolder

The ViewHolder which should be animated

preLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo

The information that was returned from recordPreLayoutInformation.

postLayoutInfo: RecyclerView.ItemAnimator.ItemHolderInfo

The information that was returned from recordPreLayoutInformation.

Returns
Boolean

true if a later call to runPendingAnimations is requested, false otherwise.

animateRemove

Added in 1.0.0
abstract fun animateRemove(holder: RecyclerView.ViewHolder!): Boolean

Called when an item is removed from the RecyclerView. Implementors can choose whether and how to animate that change, but must always call dispatchRemoveFinished when done, either immediately (if no animation will occur) or after the animation actually finishes. The return value indicates whether an animation has been set up and whether the ItemAnimator's runPendingAnimations method should be called at the next opportunity. This mechanism allows ItemAnimator to set up individual animations as separate calls to animateAdd(), animateMove(), animateRemove(), and animateChange come in one by one, then start the animations together in the later call to runPendingAnimations.

This method may also be called for disappearing items which continue to exist in the RecyclerView, but for which the system does not have enough information to animate them out of view. In that case, the default animation for removing items is run on those items as well.

Parameters
holder: RecyclerView.ViewHolder!

The item that is being removed.

Returns
Boolean

true if a later call to runPendingAnimations is requested, false otherwise.

canReuseUpdatedViewHolder

fun canReuseUpdatedViewHolder(viewHolder: RecyclerView.ViewHolder): Boolean

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).

Note that this method will only be called if the still has the same type ( Adapter#getItemViewType(int)). Otherwise, ItemAnimator will always receive both s in the #animateChange(ViewHolder, ViewHolder, ItemHolderInfo, ItemHolderInfo) method.

If your application is using change payloads, you can override #canReuseUpdatedViewHolder(ViewHolder, List) to decide based on payloads.

Returns
Boolean

True if change animations are not supported or the ViewHolder is invalid, false otherwise.

dispatchAddFinished

Added in 1.0.0
fun dispatchAddFinished(item: RecyclerView.ViewHolder!): Unit

Method to be called by subclasses when an add animation is done.

Parameters
item: RecyclerView.ViewHolder!

The item which has been added

dispatchAddStarting

Added in 1.0.0
fun dispatchAddStarting(item: RecyclerView.ViewHolder!): Unit

Method to be called by subclasses when an add animation is being started.

Parameters
item: RecyclerView.ViewHolder!

The item being added

dispatchChangeFinished

Added in 1.0.0
fun dispatchChangeFinished(item: RecyclerView.ViewHolder!, oldItem: Boolean): Unit

Method to be called by subclasses when a change animation is done.

Parameters
item: RecyclerView.ViewHolder!

The item which has been changed (this method must be called for each non-null ViewHolder passed into animateChange).

oldItem: Boolean

true if this is the old item that was changed, false if it is the new item that replaced the old item.

See also
animateChange

dispatchChangeStarting

Added in 1.0.0
fun dispatchChangeStarting(item: RecyclerView.ViewHolder!, oldItem: Boolean): Unit

Method to be called by subclasses when a change animation is being started.

Parameters
item: RecyclerView.ViewHolder!

The item which has been changed (this method must be called for each non-null ViewHolder passed into animateChange).

oldItem: Boolean

true if this is the old item that was changed, false if it is the new item that replaced the old item.

dispatchMoveFinished

Added in 1.0.0
fun dispatchMoveFinished(item: RecyclerView.ViewHolder!): Unit

Method to be called by subclasses when a move animation is done.

Parameters
item: RecyclerView.ViewHolder!

The item which has been moved

dispatchMoveStarting

Added in 1.0.0
fun dispatchMoveStarting(item: RecyclerView.ViewHolder!): Unit

Method to be called by subclasses when a move animation is being started.

Parameters
item: RecyclerView.ViewHolder!

The item being moved

dispatchRemoveFinished

Added in 1.0.0
fun dispatchRemoveFinished(item: RecyclerView.ViewHolder!): Unit

Method to be called by subclasses when a remove animation is done.

Parameters
item: RecyclerView.ViewHolder!

The item which has been removed

dispatchRemoveStarting

Added in 1.0.0
fun dispatchRemoveStarting(item: RecyclerView.ViewHolder!): Unit

Method to be called by subclasses when a remove animation is being started.

Parameters
item: RecyclerView.ViewHolder!

The item being removed

getSupportsChangeAnimations

Added in 1.0.0
fun getSupportsChangeAnimations(): Boolean

Returns whether this ItemAnimator supports animations of change events.

Returns
Boolean

true if change animations are supported, false otherwise

onAddFinished

Added in 1.0.0
fun onAddFinished(item: RecyclerView.ViewHolder!): Unit

Called when an add animation has ended on the given ViewHolder. The default implementation does nothing. Subclasses may wish to override this method to handle any ViewHolder-specific operations linked to animation lifecycles.

Parameters
item: RecyclerView.ViewHolder!

The ViewHolder being animated.

onAddStarting

Added in 1.0.0
fun onAddStarting(item: RecyclerView.ViewHolder!): Unit

Called when an add animation is being started on the given ViewHolder. The default implementation does nothing. Subclasses may wish to override this method to handle any ViewHolder-specific operations linked to animation lifecycles.

Parameters
item: RecyclerView.ViewHolder!

The ViewHolder being animated.

onChangeFinished

Added in 1.0.0
fun onChangeFinished(item: RecyclerView.ViewHolder!, oldItem: Boolean): Unit

Called when a change animation has ended on the given ViewHolder. The default implementation does nothing. Subclasses may wish to override this method to handle any ViewHolder-specific operations linked to animation lifecycles.

Parameters
item: RecyclerView.ViewHolder!

The ViewHolder being animated.

oldItem: Boolean

true if this is the old item that was changed, false if it is the new item that replaced the old item.

onChangeStarting

Added in 1.0.0
fun onChangeStarting(item: RecyclerView.ViewHolder!, oldItem: Boolean): Unit

Called when a change animation is being started on the given ViewHolder. The default implementation does nothing. Subclasses may wish to override this method to handle any ViewHolder-specific operations linked to animation lifecycles.

Parameters
item: RecyclerView.ViewHolder!

The ViewHolder being animated.

oldItem: Boolean

true if this is the old item that was changed, false if it is the new item that replaced the old item.

onMoveFinished

Added in 1.0.0
fun onMoveFinished(item: RecyclerView.ViewHolder!): Unit

Called when a move animation has ended on the given ViewHolder. The default implementation does nothing. Subclasses may wish to override this method to handle any ViewHolder-specific operations linked to animation lifecycles.

Parameters
item: RecyclerView.ViewHolder!

The ViewHolder being animated.

onMoveStarting

Added in 1.0.0
fun onMoveStarting(item: RecyclerView.ViewHolder!): Unit

Called when a move animation is being started on the given ViewHolder. The default implementation does nothing. Subclasses may wish to override this method to handle any ViewHolder-specific operations linked to animation lifecycles.

Parameters
item: RecyclerView.ViewHolder!

The ViewHolder being animated.

onRemoveFinished

Added in 1.0.0
fun onRemoveFinished(item: RecyclerView.ViewHolder!): Unit

Called when a remove animation has ended on the given ViewHolder. The default implementation does nothing. Subclasses may wish to override this method to handle any ViewHolder-specific operations linked to animation lifecycles.

Parameters
item: RecyclerView.ViewHolder!

The ViewHolder being animated.

onRemoveStarting

Added in 1.0.0
fun onRemoveStarting(item: RecyclerView.ViewHolder!): Unit

Called when a remove animation is being started on the given ViewHolder. The default implementation does nothing. Subclasses may wish to override this method to handle any ViewHolder-specific operations linked to animation lifecycles.

Parameters
item: RecyclerView.ViewHolder!

The ViewHolder being animated.

setSupportsChangeAnimations

Added in 1.0.0
fun setSupportsChangeAnimations(supportsChangeAnimations: Boolean): Unit

Sets whether this ItemAnimator supports animations of item change events. If you set this property to false, actions on the data set which change the contents of items will not be animated. What those animations do is left up to the discretion of the ItemAnimator subclass, in its animateChange implementation. The value of this property is true by default.

Parameters
supportsChangeAnimations: Boolean

true if change animations are supported by this ItemAnimator, false otherwise. If the property is false, the ItemAnimator will not receive a call to animateChange when changes occur.