belongs to Maven artifact com.android.support:recyclerview-v7:28.0.0-alpha1
DefaultItemAnimator
public
class
DefaultItemAnimator
extends SimpleItemAnimator
java.lang.Object | |||
↳ | android.support.v7.widget.RecyclerView.ItemAnimator | ||
↳ | android.support.v7.widget.SimpleItemAnimator | ||
↳ | android.support.v7.widget.DefaultItemAnimator |
This implementation of 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.
Summary
Inherited constants |
---|
![]()
android.support.v7.widget.RecyclerView.ItemAnimator
|
Public constructors | |
---|---|
DefaultItemAnimator()
|
Public methods | |
---|---|
boolean
|
animateAdd(RecyclerView.ViewHolder holder)
Called when an item is added to the RecyclerView. |
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
|
boolean
|
animateMove(RecyclerView.ViewHolder holder, int fromX, int fromY, int toX, int toY)
Called when an item is moved in the RecyclerView. |
boolean
|
animateRemove(RecyclerView.ViewHolder holder)
Called when an item is removed from the RecyclerView. |
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.
If the payload list is not empty, DefaultItemAnimator returns |
void
|
endAnimation(RecyclerView.ViewHolder item)
Method called when an animation on a view should be ended immediately. |
void
|
endAnimations()
Method called when all item animations should be ended immediately. |
boolean
|
isRunning()
Method which returns whether there are any item animations currently running. |
void
|
runPendingAnimations()
Called when there are pending animations waiting to be started. |
Inherited methods | |
---|---|
![]()
android.support.v7.widget.SimpleItemAnimator
| |
![]()
android.support.v7.widget.RecyclerView.ItemAnimator
| |
![]()
java.lang.Object
|
Public constructors
Public methods
animateAdd
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)
when done, either
immediately (if no animation will occur) or after the animation actually finishes.
The return value indicates whether an animation has been set up and whether the
ItemAnimator's runPendingAnimations()
method should be called at the
next opportunity. This mechanism allows ItemAnimator to set up individual animations
as separate calls to animateAdd()
,
animateMove()
,
animateRemove()
, and
animateChange(ViewHolder, ViewHolder, int, int, int, int)
come in one by one,
then start the animations together in the later call to runPendingAnimations()
.
This method may also be called for appearing items which were already in the RecyclerView, but for which the system does not have enough information to animate them into view. In that case, the default animation for adding items is run on those items as well.
Parameters | |
---|---|
holder |
RecyclerView.ViewHolder : The item that is being added. |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested,
false otherwise.
|
animateChange
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)
or
notifyItemRangeChanged(int, int)
.
Implementers can choose whether and how to animate changes, but must always call
dispatchChangeFinished(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)
once and only once. In that case, the
second parameter of dispatchChangeFinished
is ignored.
The return value indicates whether an animation has been set up and whether the
ItemAnimator's runPendingAnimations()
method should be called at the
next opportunity. This mechanism allows ItemAnimator to set up individual animations
as separate calls to animateAdd()
,
animateMove()
,
animateRemove()
, and
animateChange(ViewHolder, ViewHolder, int, int, int, int)
come in one by one,
then start the animations together in the later call to runPendingAnimations()
.
Parameters | |
---|---|
oldHolder |
RecyclerView.ViewHolder : The original item that changed. |
newHolder |
RecyclerView.ViewHolder : The new item that was created with the changed content. Might be null |
fromX |
int : Left of the old view holder |
fromY |
int : Top of the old view holder |
toX |
int : Left of the new view holder |
toY |
int : Top of the new view holder |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested,
false otherwise.
|
animateMove
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)
when done, either
immediately (if no animation will occur) or after the animation actually finishes.
The return value indicates whether an animation has been set up and whether the
ItemAnimator's runPendingAnimations()
method should be called at the
next opportunity. This mechanism allows ItemAnimator to set up individual animations
as separate calls to animateAdd()
,
animateMove()
,
animateRemove()
, and
animateChange(ViewHolder, ViewHolder, int, int, int, int)
come in one by one,
then start the animations together in the later call to runPendingAnimations()
.
Parameters | |
---|---|
holder |
RecyclerView.ViewHolder : The item that is being moved. |
fromX |
int |
fromY |
int |
toX |
int |
toY |
int |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested,
false otherwise.
|
animateRemove
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)
when done, either
immediately (if no animation will occur) or after the animation actually finishes.
The return value indicates whether an animation has been set up and whether the
ItemAnimator's runPendingAnimations()
method should be called at the
next opportunity. This mechanism allows ItemAnimator to set up individual animations
as separate calls to animateAdd()<