# DefaultItemAnimator

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)   
belongs to Maven artifact com.android.support:recyclerview-v7:28.0.0-alpha1  
Summary: [Inherited Constants](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#inhconstants) \| [Ctors](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#pubctors) \| [Methods](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#inhmethods) \| [\[Expand All\]](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#)  

# DefaultItemAnimator

| This package is part of the Android [support library](https://developer.android.com/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](https://developer.android.com/jetpack/androidx) which is part of [Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](https://developer.android.com/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class
| mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).


`
public


class
DefaultItemAnimator
`


`


`

`


`

`

extends `[SimpleItemAnimator](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator)`


`

`


`

|---|---|---|-----------------------------------------------|
| java.lang.Object                                       ||||
| ↳ | [android.support.v7.widget.RecyclerView.ItemAnimator](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator) |||
|   | ↳ | [android.support.v7.widget.SimpleItemAnimator](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator) ||
|   |   | ↳ | android.support.v7.widget.DefaultItemAnimator |

<br />

*** ** * ** ***

This implementation of [RecyclerView.ItemAnimator](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator) provides basic
animations on remove, add, and move events that happen to the items in
a RecyclerView. RecyclerView uses a DefaultItemAnimator by default.  
**See also:**

- [setItemAnimator(RecyclerView.ItemAnimator)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView#setItemAnimator(android.support.v7.widget.RecyclerView.ItemAnimator))

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ### Inherited constants                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#)From class ` `[android.support.v7.widget.RecyclerView.ItemAnimator](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator)` ` |-------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `int` | [FLAG_APPEARED_IN_PRE_LAYOUT](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#FLAG_APPEARED_IN_PRE_LAYOUT) This ViewHolder was not laid out but has been added to the layout in pre-layout state by the [RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager). | | `int` | [FLAG_CHANGED](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#FLAG_CHANGED) The Item represented by this ViewHolder is updated.                                                                                                                                                                                                    | | `int` | [FLAG_INVALIDATED](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#FLAG_INVALIDATED) Adapter [notifyDataSetChanged()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyDataSetChanged()) has been called and the content represented by this ViewHolder is invalid.                     | | `int` | [FLAG_MOVED](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#FLAG_MOVED) The position of the Item represented by this ViewHolder has been changed.                                                                                                                                                                                  | | `int` | [FLAG_REMOVED](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#FLAG_REMOVED) The Item represented by this ViewHolder is removed from the adapter.                                                                                                                                                                                   | |

|                                                            ### Public constructors                                                            ||
|--------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[DefaultItemAnimator](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#DefaultItemAnimator())`() ` |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ### Public methods                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ||
|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` boolean` | ` `[animateAdd](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#animateAdd(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` holder) ` Called when an item is added to the RecyclerView.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ` boolean` | ` `[animateChange](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` oldHolder, `[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` newHolder, int fromX, int fromY, int toX, int toY) ` Called when an item is changed in the RecyclerView, as indicated by a call to [notifyItemChanged(int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemChanged(int)) or [notifyItemRangeChanged(int, int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemRangeChanged(int, int)). |
| ` boolean` | ` `[animateMove](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#animateMove(android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` holder, int fromX, int fromY, int toX, int toY) ` Called when an item is moved in the RecyclerView.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ` boolean` | ` `[animateRemove](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#animateRemove(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` holder) ` Called when an item is removed from the RecyclerView.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ` boolean` | ` `[canReuseUpdatedViewHolder](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#canReuseUpdatedViewHolder(android.support.v7.widget.RecyclerView.ViewHolder, java.util.List<java.lang.Object>))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder, List<Object> payloads) ` 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. If the payload list is not empty, DefaultItemAnimator returns `true`.                                                                                                                                                                                                                                                      |
| ` void`    | ` `[endAnimation](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#endAnimation(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Method called when an animation on a view should be ended immediately.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ` void`    | ` `[endAnimations](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#endAnimations())`() ` Method called when all item animations should be ended immediately.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ` boolean` | ` `[isRunning](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#isRunning())`() ` Method which returns whether there are any item animations currently running.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ` void`    | ` `[runPendingAnimations](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#runPendingAnimations())`() ` Called when there are pending animations waiting to be started.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#)From class ` `[android.support.v7.widget.SimpleItemAnimator](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator)` ` |---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract boolean` | ` `[animateAdd](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateAdd(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` holder) ` Called when an item is added to the RecyclerView.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | | ` boolean`          | ` `[animateAppearance](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateAppearance(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` preLayoutInfo, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` postLayoutInfo) ` Called by the RecyclerView when a ViewHolder is added to the layout.                                                                                                                                                                                                                                                                                                                                                                             | | ` abstract boolean` | ` `[animateChange](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` oldHolder, `[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` newHolder, int fromLeft, int fromTop, int toLeft, int toTop) ` Called when an item is changed in the RecyclerView, as indicated by a call to [notifyItemChanged(int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemChanged(int)) or [notifyItemRangeChanged(int, int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemRangeChanged(int, int)).                                                                                                                                                                                                                                                                                                   | | ` boolean`          | ` `[animateChange](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` oldHolder, `[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` newHolder, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` preInfo, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` postInfo) ` Called by the RecyclerView when an adapter item is present both before and after the layout and RecyclerView has received a [notifyItemChanged(int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemChanged(int)) call for it. | | ` boolean`          | ` `[animateDisappearance](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateDisappearance(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` preLayoutInfo, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` postLayoutInfo) ` Called by the RecyclerView when a ViewHolder has disappeared from the layout.                                                                                                                                                                                                                                                                                                                                                              | | ` abstract boolean` | ` `[animateMove](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateMove(android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` holder, int fromX, int fromY, int toX, int toY) ` Called when an item is moved in the RecyclerView.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | | ` boolean`          | ` `[animatePersistence](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animatePersistence(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` preInfo, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` postInfo) ` Called by the RecyclerView when a ViewHolder is present in both before and after the layout and RecyclerView has not received a [notifyItemChanged(int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemChanged(int)) call for it or a [notifyDataSetChanged()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyDataSetChanged()) call.                     | | ` abstract boolean` | ` `[animateRemove](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateRemove(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` holder) ` Called when an item is removed from the RecyclerView.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | | ` boolean`          | ` `[canReuseUpdatedViewHolder](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#canReuseUpdatedViewHolder(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` 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.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | | ` final void`       | ` `[dispatchAddFinished](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchAddFinished(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Method to be called by subclasses when an add animation is done.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | | ` final void`       | ` `[dispatchAddStarting](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchAddStarting(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Method to be called by subclasses when an add animation is being started.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | | ` final void`       | ` `[dispatchChangeFinished](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchChangeFinished(android.support.v7.widget.RecyclerView.ViewHolder, boolean))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item, boolean oldItem) ` Method to be called by subclasses when a change animation is done.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | | ` final void`       | ` `[dispatchChangeStarting](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchChangeStarting(android.support.v7.widget.RecyclerView.ViewHolder, boolean))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item, boolean oldItem) ` Method to be called by subclasses when a change animation is being started.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | | ` final void`       | ` `[dispatchMoveFinished](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchMoveFinished(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Method to be called by subclasses when a move animation is done.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | | ` final void`       | ` `[dispatchMoveStarting](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchMoveStarting(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Method to be called by subclasses when a move animation is being started.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | | ` final void`       | ` `[dispatchRemoveFinished](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchRemoveFinished(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Method to be called by subclasses when a remove animation is done.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | | ` final void`       | ` `[dispatchRemoveStarting](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchRemoveStarting(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Method to be called by subclasses when a remove animation is being started.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | | ` boolean`          | ` `[getSupportsChangeAnimations](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#getSupportsChangeAnimations())`() ` Returns whether this ItemAnimator supports animations of change events.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | | ` void`             | ` `[onAddFinished](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#onAddFinished(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Called when an add animation has ended on the given ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | | ` void`             | ` `[onAddStarting](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#onAddStarting(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Called when an add animation is being started on the given ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | | ` void`             | ` `[onChangeFinished](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#onChangeFinished(android.support.v7.widget.RecyclerView.ViewHolder, boolean))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item, boolean oldItem) ` Called when a change animation has ended on the given ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | | ` void`             | ` `[onChangeStarting](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#onChangeStarting(android.support.v7.widget.RecyclerView.ViewHolder, boolean))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item, boolean oldItem) ` Called when a change animation is being started on the given ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | | ` void`             | ` `[onMoveFinished](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#onMoveFinished(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Called when a move animation has ended on the given ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | | ` void`             | ` `[onMoveStarting](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#onMoveStarting(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Called when a move animation is being started on the given ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | | ` void`             | ` `[onRemoveFinished](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#onRemoveFinished(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Called when a remove animation has ended on the given ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | | ` void`             | ` `[onRemoveStarting](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#onRemoveStarting(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Called when a remove animation is being started on the given ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | | ` void`             | ` `[setSupportsChangeAnimations](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#setSupportsChangeAnimations(boolean))`(boolean supportsChangeAnimations) ` Sets whether this ItemAnimator supports animations of item change events.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#)From class ` `[android.support.v7.widget.RecyclerView.ItemAnimator](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator)` ` |-----------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract boolean`                                                                                                                                       | ` `[animateAppearance](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#animateAppearance(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` preLayoutInfo, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` postLayoutInfo) ` Called by the RecyclerView when a ViewHolder is added to the layout.                                                                                                                                                                                                                                                                                                                                                                                         | | ` abstract boolean`                                                                                                                                       | ` `[animateChange](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` oldHolder, `[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` newHolder, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` preLayoutInfo, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` postLayoutInfo) ` Called by the RecyclerView when an adapter item is present both before and after the layout and RecyclerView has received a [notifyItemChanged(int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemChanged(int)) call for it. | | ` abstract boolean`                                                                                                                                       | ` `[animateDisappearance](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#animateDisappearance(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` preLayoutInfo, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` postLayoutInfo) ` Called by the RecyclerView when a ViewHolder has disappeared from the layout.                                                                                                                                                                                                                                                                                                                                                                          | | ` abstract boolean`                                                                                                                                       | ` `[animatePersistence](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#animatePersistence(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` preLayoutInfo, `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)` postLayoutInfo) ` Called by the RecyclerView when a ViewHolder is present in both before and after the layout and RecyclerView has not received a [notifyItemChanged(int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemChanged(int)) call for it or a [notifyDataSetChanged()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyDataSetChanged()) call.                     | | ` boolean`                                                                                                                                                | ` `[canReuseUpdatedViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#canReuseUpdatedViewHolder(android.support.v7.widget.RecyclerView.ViewHolder, java.util.List<java.lang.Object>))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder, List<Object> payloads) ` 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.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | | ` boolean`                                                                                                                                                | ` `[canReuseUpdatedViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#canReuseUpdatedViewHolder(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` 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.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | | ` final void`                                                                                                                                             | ` `[dispatchAnimationFinished](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#dispatchAnimationFinished(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder) ` Method to be called by subclasses when an animation is finished.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | | ` final void`                                                                                                                                             | ` `[dispatchAnimationStarted](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#dispatchAnimationStarted(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder) ` Method to be called by subclasses when an animation is started.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | | ` final void`                                                                                                                                             | ` `[dispatchAnimationsFinished](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#dispatchAnimationsFinished())`() ` This method should be called by ItemAnimator implementations to notify any listeners that all pending and active item animations are finished.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | | ` abstract void`                                                                                                                                          | ` `[endAnimation](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#endAnimation(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` item) ` Method called when an animation on a view should be ended immediately.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | | ` abstract void`                                                                                                                                          | ` `[endAnimations](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#endAnimations())`() ` Method called when all item animations should be ended immediately.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | | ` long`                                                                                                                                                   | ` `[getAddDuration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#getAddDuration())`() ` Gets the current duration for which all add animations will run.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | | ` long`                                                                                                                                                   | ` `[getChangeDuration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#getChangeDuration())`() ` Gets the current duration for which all change animations will run.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | | ` long`                                                                                                                                                   | ` `[getMoveDuration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#getMoveDuration())`() ` Gets the current duration for which all move animations will run.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | | ` long`                                                                                                                                                   | ` `[getRemoveDuration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#getRemoveDuration())`() ` Gets the current duration for which all remove animations will run.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | | ` abstract boolean`                                                                                                                                       | ` `[isRunning](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#isRunning())`() ` Method which returns whether there are any item animations currently running.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | | ` final boolean`                                                                                                                                          | ` `[isRunning](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#isRunning(android.support.v7.widget.RecyclerView.ItemAnimator.ItemAnimatorFinishedListener))`(`[RecyclerView.ItemAnimator.ItemAnimatorFinishedListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemAnimatorFinishedListener)` listener) ` Like [isRunning()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#isRunning()), this method returns whether there are any item animations currently running.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | | ` `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo) | ` `[obtainHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#obtainHolderInfo())`() ` Returns a new [RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo) which will be used to store information about the ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | | ` void`                                                                                                                                                   | ` `[onAnimationFinished](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#onAnimationFinished(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder) ` Called after [dispatchAnimationFinished(ViewHolder)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#dispatchAnimationFinished(android.support.v7.widget.RecyclerView.ViewHolder)) is called by the ItemAnimator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | | ` void`                                                                                                                                                   | ` `[onAnimationStarted](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#onAnimationStarted(android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder) ` Called when a new animation is started on the given ViewHolder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | | ` `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo) | ` `[recordPostLayoutInformation](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#recordPostLayoutInformation(android.support.v7.widget.RecyclerView.State, android.support.v7.widget.RecyclerView.ViewHolder))`(`[RecyclerView.State](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.State)` state, `[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder) ` Called by the RecyclerView after the layout is complete.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | | ` `[RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo) | ` `[recordPreLayoutInformation](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#recordPreLayoutInformation(android.support.v7.widget.RecyclerView.State, android.support.v7.widget.RecyclerView.ViewHolder, int, java.util.List<java.lang.Object>))`(`[RecyclerView.State](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.State)` state, `[RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)` viewHolder, int changeFlags, List<Object> payloads) ` Called by the RecyclerView before the layout begins.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | | ` abstract void`                                                                                                                                          | ` `[runPendingAnimations](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations())`() ` Called when there are pending animations waiting to be started.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | | ` void`                                                                                                                                                   | ` `[setAddDuration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#setAddDuration(long))`(long addDuration) ` Sets the duration for which all add animations will run.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | | ` void`                                                                                                                                                   | ` `[setChangeDuration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#setChangeDuration(long))`(long changeDuration) ` Sets the duration for which all change animations will run.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | | ` void`                                                                                                                                                   | ` `[setMoveDuration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#setMoveDuration(long))`(long moveDuration) ` Sets the duration for which all move animations will run.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | | ` void`                                                                                                                                                   | ` `[setRemoveDuration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#setRemoveDuration(long))`(long removeDuration) ` Sets the duration for which all remove animations will run.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#)From class ` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### DefaultItemAnimator

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
DefaultItemAnimator ()
```

<br />

<br />

## Public methods

### animateAdd

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean animateAdd (RecyclerView.ViewHolder holder)
```

Called when an item is added to the RecyclerView. Implementors can choose
whether and how to animate that change, but must always call
[dispatchAddFinished(ViewHolder)](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchAddFinished(android.support.v7.widget.RecyclerView.ViewHolder)) 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()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()) method should be called at the
next opportunity. This mechanism allows ItemAnimator to set up individual animations
as separate calls to [animateAdd()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateAdd(android.support.v7.widget.RecyclerView.ViewHolder)),
[animateMove()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateMove(android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)),
[animateRemove()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateRemove(android.support.v7.widget.RecyclerView.ViewHolder)), and
[animateChange(ViewHolder, ViewHolder, int, int, int, int)](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)) come in one by one,
then start the animations together in the later call to [runPendingAnimations()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#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.

<br />

<br />

|                                Parameters                                 ||
|----------|-----------------------------------------------------------------|
| `holder` | `RecyclerView.ViewHolder`: The item that is being added. <br /> |

|                                                                                                        Returns                                                                                                        ||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `boolean` | true if a later call to [runPendingAnimations()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()) is requested, false otherwise. <br /> |

### animateChange

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean animateChange (RecyclerView.ViewHolder oldHolder, 
                RecyclerView.ViewHolder newHolder, 
                int fromX, 
                int fromY, 
                int toX, 
                int toY)
```

Called when an item is changed in the RecyclerView, as indicated by a call to
[notifyItemChanged(int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemChanged(int)) or
[notifyItemRangeChanged(int, int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyItemRangeChanged(int, int)).


Implementers can choose whether and how to animate changes, but must always call
[dispatchChangeFinished(ViewHolder, boolean)](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchChangeFinished(android.support.v7.widget.RecyclerView.ViewHolder, boolean)) 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(ViewHolder, boolean)](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchChangeFinished(android.support.v7.widget.RecyclerView.ViewHolder, boolean)) 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()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()) method should be called at the
next opportunity. This mechanism allows ItemAnimator to set up individual animations
as separate calls to [animateAdd()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateAdd(android.support.v7.widget.RecyclerView.ViewHolder)),
[animateMove()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateMove(android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)),
[animateRemove()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateRemove(android.support.v7.widget.RecyclerView.ViewHolder)), and
[animateChange(ViewHolder, ViewHolder, int, int, int, int)](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)) come in one by one,
then start the animations together in the later call to [runPendingAnimations()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()).

<br />

|                                                      Parameters                                                      ||
|-------------|---------------------------------------------------------------------------------------------------------|
| `oldHolder` | `RecyclerView.ViewHolder`: The original item that changed. <br />                                       |
| `newHolder` | `RecyclerView.ViewHolder`: The new item that was created with the changed content. Might be null <br /> |
| `fromX`     | `int`: Left of the old view holder <br />                                                               |
| `fromY`     | `int`: Top of the old view holder <br />                                                                |
| `toX`       | `int`: Left of the new view holder <br />                                                               |
| `toY`       | `int`: Top of the new view holder <br />                                                                |

|                                                                                                        Returns                                                                                                        ||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `boolean` | true if a later call to [runPendingAnimations()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()) is requested, false otherwise. <br /> |

### animateMove

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean animateMove (RecyclerView.ViewHolder holder, 
                int fromX, 
                int fromY, 
                int toX, 
                int toY)
```

Called when an item is moved in the RecyclerView. Implementors can choose
whether and how to animate that change, but must always call
[dispatchMoveFinished(ViewHolder)](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchMoveFinished(android.support.v7.widget.RecyclerView.ViewHolder)) 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()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()) method should be called at the
next opportunity. This mechanism allows ItemAnimator to set up individual animations
as separate calls to [animateAdd()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateAdd(android.support.v7.widget.RecyclerView.ViewHolder)),
[animateMove()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateMove(android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)),
[animateRemove()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateRemove(android.support.v7.widget.RecyclerView.ViewHolder)), and
[animateChange(ViewHolder, ViewHolder, int, int, int, int)](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)) come in one by one,
then start the animations together in the later call to [runPendingAnimations()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()).

<br />

|                                Parameters                                 ||
|----------|-----------------------------------------------------------------|
| `holder` | `RecyclerView.ViewHolder`: The item that is being moved. <br /> |
| `fromX`  | `int` <br />                                                    |
| `fromY`  | `int` <br />                                                    |
| `toX`    | `int` <br />                                                    |
| `toY`    | `int` <br />                                                    |

|                                                                                                        Returns                                                                                                        ||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `boolean` | true if a later call to [runPendingAnimations()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()) is requested, false otherwise. <br /> |

### animateRemove

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean animateRemove (RecyclerView.ViewHolder holder)
```

Called when an item is removed from the RecyclerView. Implementors can choose
whether and how to animate that change, but must always call
[dispatchRemoveFinished(ViewHolder)](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#dispatchRemoveFinished(android.support.v7.widget.RecyclerView.ViewHolder)) 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()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()) method should be called at the
next opportunity. This mechanism allows ItemAnimator to set up individual animations
as separate calls to [animateAdd()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateAdd(android.support.v7.widget.RecyclerView.ViewHolder)),
[animateMove()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateMove(android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)),
[animateRemove()](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateRemove(android.support.v7.widget.RecyclerView.ViewHolder)), and
[animateChange(ViewHolder, ViewHolder, int, int, int, int)](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)) come in one by one,
then start the animations together in the later call to [runPendingAnimations()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#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.

<br />

<br />

|                                 Parameters                                  ||
|----------|-------------------------------------------------------------------|
| `holder` | `RecyclerView.ViewHolder`: The item that is being removed. <br /> |

|                                                                                                        Returns                                                                                                        ||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `boolean` | true if a later call to [runPendingAnimations()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#runPendingAnimations()) is requested, false otherwise. <br /> |

### canReuseUpdatedViewHolder

added in [version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean canReuseUpdatedViewHolder (RecyclerView.ViewHolder viewHolder, 
                List<Object> payloads)
```

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 [RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder) still has the same
type ([getItemViewType(int)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#getItemViewType(int))). Otherwise, ItemAnimator will always receive
both [RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)s in the
[animateChange(ViewHolder, ViewHolder, ItemHolderInfo, ItemHolderInfo)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo)) method.


If the payload list is not empty, DefaultItemAnimator returns `true`.
When this is the case:

- If you override [animateChange(ViewHolder, ViewHolder, int, int, int, int)](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)), both ViewHolder arguments will be the same instance.
- If you are not overriding [animateChange(ViewHolder, ViewHolder, int, int, int, int)](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)), then DefaultItemAnimator will call [animateMove(ViewHolder, int, int, int, int)](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator#animateMove(android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int)) and run a move animation instead.

<br />

<br />

|                                                                                                                                                                                                                                                                                       Parameters                                                                                                                                                                                                                                                                                        ||
|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `viewHolder` | `RecyclerView.ViewHolder`: The ViewHolder which represents the changed item's old content. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `payloads`   | `List`: A non-null list of merged payloads that were sent with change notifications. Can be empty if the adapter is invalidated via [notifyDataSetChanged()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#notifyDataSetChanged()). The same list of payloads will be passed into [onBindViewHolder(ViewHolder, int, List)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter#onBindViewHolder(VH, int, java.util.List<java.lang.Object>)) method **if** this method returns `true`. <br /> |

|                                                                                                                                                                                                                      Returns                                                                                                                                                                                                                      ||
|-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `boolean` | True if RecyclerView should just rebind to the same ViewHolder or false if RecyclerView should create a new ViewHolder and pass this ViewHolder to the ItemAnimator to animate. Default implementation calls [canReuseUpdatedViewHolder(ViewHolder)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#canReuseUpdatedViewHolder(android.support.v7.widget.RecyclerView.ViewHolder)). <br /> |

### endAnimation

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void endAnimation (RecyclerView.ViewHolder item)
```

Method called when an animation on a view should be ended immediately.
This could happen when other events, like scrolling, occur, so that
animating views can be quickly put into their proper end locations.
Implementations should ensure that any animations running on the item
are canceled and affected properties are set to their end values.
Also, [dispatchAnimationFinished(ViewHolder)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#dispatchAnimationFinished(android.support.v7.widget.RecyclerView.ViewHolder)) should be called for each finished
animation since the animations are effectively done when this method is called.

<br />

|                                          Parameters                                          ||
|--------|--------------------------------------------------------------------------------------|
| `item` | `RecyclerView.ViewHolder`: The item for which an animation should be stopped. <br /> |

### endAnimations

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void endAnimations ()
```

Method called when all item animations should be ended immediately.
This could happen when other events, like scrolling, occur, so that
animating views can be quickly put into their proper end locations.
Implementations should ensure that any animations running on any items
are canceled and affected properties are set to their end values.
Also, [dispatchAnimationFinished(ViewHolder)](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#dispatchAnimationFinished(android.support.v7.widget.RecyclerView.ViewHolder)) should be called for each finished
animation since the animations are effectively done when this method is called.

<br />

### isRunning

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean isRunning ()
```

Method which returns whether there are any item animations currently running.
This method can be used to determine whether to delay other actions until
animations end.

<br />

|                                           Returns                                           ||
|-----------|----------------------------------------------------------------------------------|
| `boolean` | true if there are any item animations currently running, false otherwise. <br /> |

### runPendingAnimations

added in [version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void runPendingAnimations ()
```

Called when there are pending animations waiting to be started. This state
is governed by the return values from
[animateAppearance()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#animateAppearance(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo)),
[animateChange()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo))
[animatePersistence()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#animatePersistence(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo)), and
[animateDisappearance()](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator#animateDisappearance(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo, android.support.v7.widget.RecyclerView.ItemAnimator.ItemHolderInfo)), which inform the RecyclerView that the ItemAnimator wants to be
called later to start the associated animations. runPendingAnimations() will be scheduled
to be run on the next frame.

<br />

-

  ## Annotations

  - [RecyclerView.EdgeEffectFactory.EdgeDirection](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.EdgeEffectFactory.EdgeDirection)
  - [RecyclerView.ItemAnimator.AdapterChanges](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.AdapterChanges)
-

  ## Interfaces

  - [ActionMenuView.OnMenuItemClickListener](https://developer.android.com/reference/android/support/v7/widget/ActionMenuView.OnMenuItemClickListener)
  - [PopupMenu.OnDismissListener](https://developer.android.com/reference/android/support/v7/widget/PopupMenu.OnDismissListener)
  - [PopupMenu.OnMenuItemClickListener](https://developer.android.com/reference/android/support/v7/widget/PopupMenu.OnMenuItemClickListener)
  - [RecyclerView.ChildDrawingOrderCallback](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ChildDrawingOrderCallback)
  - [RecyclerView.ItemAnimator.ItemAnimatorFinishedListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemAnimatorFinishedListener)
  - [RecyclerView.LayoutManager.LayoutPrefetchRegistry](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager.LayoutPrefetchRegistry)
  - [RecyclerView.OnChildAttachStateChangeListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnChildAttachStateChangeListener)
  - [RecyclerView.OnItemTouchListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnItemTouchListener)
  - [RecyclerView.RecyclerListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.RecyclerListener)
  - [RecyclerView.SmoothScroller.ScrollVectorProvider](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller.ScrollVectorProvider)
  - [SearchView.OnCloseListener](https://developer.android.com/reference/android/support/v7/widget/SearchView.OnCloseListener)
  - [SearchView.OnQueryTextListener](https://developer.android.com/reference/android/support/v7/widget/SearchView.OnQueryTextListener)
  - [SearchView.OnSuggestionListener](https://developer.android.com/reference/android/support/v7/widget/SearchView.OnSuggestionListener)
  - [ShareActionProvider.OnShareTargetSelectedListener](https://developer.android.com/reference/android/support/v7/widget/ShareActionProvider.OnShareTargetSelectedListener)
  - [ThemedSpinnerAdapter](https://developer.android.com/reference/android/support/v7/widget/ThemedSpinnerAdapter)
  - [Toolbar.OnMenuItemClickListener](https://developer.android.com/reference/android/support/v7/widget/Toolbar.OnMenuItemClickListener)
-

  ## Classes

  - [ActionMenuView](https://developer.android.com/reference/android/support/v7/widget/ActionMenuView)
  - [ActionMenuView.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/ActionMenuView.LayoutParams)
  - [AppCompatAutoCompleteTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatAutoCompleteTextView)
  - [AppCompatButton](https://developer.android.com/reference/android/support/v7/widget/AppCompatButton)
  - [AppCompatCheckBox](https://developer.android.com/reference/android/support/v7/widget/AppCompatCheckBox)
  - [AppCompatCheckedTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatCheckedTextView)
  - [AppCompatEditText](https://developer.android.com/reference/android/support/v7/widget/AppCompatEditText)
  - [AppCompatImageButton](https://developer.android.com/reference/android/support/v7/widget/AppCompatImageButton)
  - [AppCompatImageView](https://developer.android.com/reference/android/support/v7/widget/AppCompatImageView)
  - [AppCompatMultiAutoCompleteTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatMultiAutoCompleteTextView)
  - [AppCompatRadioButton](https://developer.android.com/reference/android/support/v7/widget/AppCompatRadioButton)
  - [AppCompatRatingBar](https://developer.android.com/reference/android/support/v7/widget/AppCompatRatingBar)
  - [AppCompatSeekBar](https://developer.android.com/reference/android/support/v7/widget/AppCompatSeekBar)
  - [AppCompatSpinner](https://developer.android.com/reference/android/support/v7/widget/AppCompatSpinner)
  - [AppCompatTextView](https://developer.android.com/reference/android/support/v7/widget/AppCompatTextView)
  - [CardView](https://developer.android.com/reference/android/support/v7/widget/CardView)
  - [DefaultItemAnimator](https://developer.android.com/reference/android/support/v7/widget/DefaultItemAnimator)
  - [DividerItemDecoration](https://developer.android.com/reference/android/support/v7/widget/DividerItemDecoration)
  - [GridLayout](https://developer.android.com/reference/android/support/v7/widget/GridLayout)
  - [GridLayout.Alignment](https://developer.android.com/reference/android/support/v7/widget/GridLayout.Alignment)
  - [GridLayout.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/GridLayout.LayoutParams)
  - [GridLayout.Spec](https://developer.android.com/reference/android/support/v7/widget/GridLayout.Spec)
  - [GridLayoutManager](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager)
  - [GridLayoutManager.DefaultSpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.DefaultSpanSizeLookup)
  - [GridLayoutManager.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.LayoutParams)
  - [GridLayoutManager.SpanSizeLookup](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.SpanSizeLookup)
  - [LinearLayoutCompat](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutCompat)
  - [LinearLayoutCompat.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutCompat.LayoutParams)
  - [LinearLayoutManager](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager)
  - [LinearLayoutManager.LayoutChunkResult](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.LayoutChunkResult)
  - [LinearSmoothScroller](https://developer.android.com/reference/android/support/v7/widget/LinearSmoothScroller)
  - [LinearSnapHelper](https://developer.android.com/reference/android/support/v7/widget/LinearSnapHelper)
  - [ListPopupWindow](https://developer.android.com/reference/android/support/v7/widget/ListPopupWindow)
  - [OrientationHelper](https://developer.android.com/reference/android/support/v7/widget/OrientationHelper)
  - [PagerSnapHelper](https://developer.android.com/reference/android/support/v7/widget/PagerSnapHelper)
  - [PopupMenu](https://developer.android.com/reference/android/support/v7/widget/PopupMenu)
  - [RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView)
  - [RecyclerView.Adapter](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter)
  - [RecyclerView.AdapterDataObserver](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.AdapterDataObserver)
  - [RecyclerView.EdgeEffectFactory](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.EdgeEffectFactory)
  - [RecyclerView.ItemAnimator](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator)
  - [RecyclerView.ItemAnimator.ItemHolderInfo](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemAnimator.ItemHolderInfo)
  - [RecyclerView.ItemDecoration](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ItemDecoration)
  - [RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)
  - [RecyclerView.LayoutManager.Properties](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager.Properties)
  - [RecyclerView.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutParams)
  - [RecyclerView.OnFlingListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnFlingListener)
  - [RecyclerView.OnScrollListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnScrollListener)
  - [RecyclerView.RecycledViewPool](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.RecycledViewPool)
  - [RecyclerView.Recycler](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Recycler)
  - [RecyclerView.SimpleOnItemTouchListener](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SimpleOnItemTouchListener)
  - [RecyclerView.SmoothScroller](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller)
  - [RecyclerView.SmoothScroller.Action](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.SmoothScroller.Action)
  - [RecyclerView.State](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.State)
  - [RecyclerView.ViewCacheExtension](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewCacheExtension)
  - [RecyclerView.ViewHolder](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder)
  - [RecyclerViewAccessibilityDelegate](https://developer.android.com/reference/android/support/v7/widget/RecyclerViewAccessibilityDelegate)
  - [RecyclerViewAccessibilityDelegate.ItemDelegate](https://developer.android.com/reference/android/support/v7/widget/RecyclerViewAccessibilityDelegate.ItemDelegate)
  - [SearchView](https://developer.android.com/reference/android/support/v7/widget/SearchView)
  - [ShareActionProvider](https://developer.android.com/reference/android/support/v7/widget/ShareActionProvider)
  - [SimpleItemAnimator](https://developer.android.com/reference/android/support/v7/widget/SimpleItemAnimator)
  - [SnapHelper](https://developer.android.com/reference/android/support/v7/widget/SnapHelper)
  - [StaggeredGridLayoutManager](https://developer.android.com/reference/android/support/v7/widget/StaggeredGridLayoutManager)
  - [StaggeredGridLayoutManager.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/StaggeredGridLayoutManager.LayoutParams)
  - [SwitchCompat](https://developer.android.com/reference/android/support/v7/widget/SwitchCompat)
  - [ThemedSpinnerAdapter.Helper](https://developer.android.com/reference/android/support/v7/widget/ThemedSpinnerAdapter.Helper)
  - [Toolbar](https://developer.android.com/reference/android/support/v7/widget/Toolbar)
  - [Toolbar.LayoutParams](https://developer.android.com/reference/android/support/v7/widget/Toolbar.LayoutParams)
  - [Toolbar.SavedState](https://developer.android.com/reference/android/support/v7/widget/Toolbar.SavedState)
  - [TooltipCompat](https://developer.android.com/reference/android/support/v7/widget/TooltipCompat)