public abstract class SimpleItemAnimator
extends RecyclerView.ItemAnimator
java.lang.Object | ||
↳ | android.support.v7.widget.RecyclerView.ItemAnimator | |
↳ | android.support.v7.widget.SimpleItemAnimator |
Known Direct Subclasses |
ItemAnimator的包装类,用于记录视图边界并决定是否应该运行移动,更改,添加或移除动画。 该类还复制了原始的ItemAnimator API。
它使用RecyclerView.ItemAnimator.ItemHolderInfo
来跟踪视图的边界信息。 如果你想扩展这个类,你可以覆盖obtainHolderInfo()
方法来提供你自己的信息类,扩展RecyclerView.ItemAnimator.ItemHolderInfo
。
Inherited constants |
---|
From class android.support.v7.widget.RecyclerView.ItemAnimator
|
Public constructors |
|
---|---|
SimpleItemAnimator() |
Public methods |
|
---|---|
abstract boolean |
animateAdd(RecyclerView.ViewHolder holder) 在将项目添加到RecyclerView时调用。 |
boolean |
animateAppearance(RecyclerView.ViewHolder viewHolder, RecyclerView.ItemAnimator.ItemHolderInfo preLayoutInfo, RecyclerView.ItemAnimator.ItemHolderInfo postLayoutInfo) 当ViewHolder添加到布局时,由RecyclerView调用。 |
abstract boolean |
animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, int fromLeft, int fromTop, int toLeft, int toTop) 在RecyclerView中更改项目时调用,如调用 |
boolean |
animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, RecyclerView.ItemAnimator.ItemHolderInfo preInfo, RecyclerView.ItemAnimator.ItemHolderInfo postInfo) 在布局和RecyclerView收到 |
boolean |
animateDisappearance(RecyclerView.ViewHolder viewHolder, RecyclerView.ItemAnimator.ItemHolderInfo preLayoutInfo, RecyclerView.ItemAnimator.ItemHolderInfo postLayoutInfo) 当ViewHolder从布局中消失时,由RecyclerView调用。 |
abstract boolean |
animateMove(RecyclerView.ViewHolder holder, int fromX, int fromY, int toX, int toY) 在RecyclerView中移动项目时调用。 |
boolean |
animatePersistence(RecyclerView.ViewHolder viewHolder, RecyclerView.ItemAnimator.ItemHolderInfo preInfo, RecyclerView.ItemAnimator.ItemHolderInfo postInfo) 当布局和RecyclerView未收到 |
abstract boolean |
animateRemove(RecyclerView.ViewHolder holder) 从RecyclerView中删除一个项目时调用。 |
boolean |
canReuseUpdatedViewHolder(RecyclerView.ViewHolder viewHolder) 当一个项目被改变时,ItemAnimator可以决定是否要为动画重用相同的ViewHolder,或者RecyclerView应该创建该项目的副本,并且ItemAnimator将使用两者来运行动画(例如 |
final void |
dispatchAddFinished(RecyclerView.ViewHolder item) 添加动画完成时由子类调用的方法。 |
final void |
dispatchAddStarting(RecyclerView.ViewHolder item) 在添加动画开始时由子类调用的方法。 |
final void |
dispatchChangeFinished(RecyclerView.ViewHolder item, boolean oldItem) 当更改动画完成时由子类调用的方法。 |
final void |
dispatchChangeStarting(RecyclerView.ViewHolder item, boolean oldItem) 在变更动画开始时由子类调用的方法。 |
final void |
dispatchMoveFinished(RecyclerView.ViewHolder item) 移动动画完成时由子类调用的方法。 |
final void |
dispatchMoveStarting(RecyclerView.ViewHolder item) 在移动动画开始时由子类调用的方法。 |
final void |
dispatchRemoveFinished(RecyclerView.ViewHolder item) 删除动画完成时由子类调用的方法。 |
final void |
dispatchRemoveStarting(RecyclerView.ViewHolder item) 在删除动画开始时由子类调用的方法。 |
boolean |
getSupportsChangeAnimations() 返回此ItemAnimator是否支持更改事件的动画。 |
void |
onAddFinished(RecyclerView.ViewHolder item) 在给定ViewHolder上添加动画结束时调用。 |
void |
onAddStarting(RecyclerView.ViewHolder item) 在给定的ViewHolder上开始添加动画时调用。 |
void |
onChangeFinished(RecyclerView.ViewHolder item, boolean oldItem) 在给定ViewHolder上更改动画结束时调用。 |
void |
onChangeStarting(RecyclerView.ViewHolder item, boolean oldItem) 在给定ViewHolder上启动更改动画时调用。 |
void |
onMoveFinished(RecyclerView.ViewHolder item) 在给定ViewHolder上移动动画结束时调用。 |
void |
onMoveStarting(RecyclerView.ViewHolder item) 在给定ViewHolder上开始移动动画时调用。 |
void |
onRemoveFinished(RecyclerView.ViewHolder item) 在给定的ViewHolder上移除动画结束时调用。 |
void |
onRemoveStarting(RecyclerView.ViewHolder item) 在给定的ViewHolder上启动删除动画时调用。 |
void |
setSupportsChangeAnimations(boolean supportsChangeAnimations) 设置此ItemAnimator是否支持项目更改事件的动画。 |
Inherited methods |
|
---|---|
From class android.support.v7.widget.RecyclerView.ItemAnimator
|
|
From class java.lang.Object
|
SimpleItemAnimator ()
boolean animateAdd (RecyclerView.ViewHolder holder)
在将项目添加到RecyclerView时调用。 实现者可以选择是否以及如何动画该变化,但必须在完成后始终调用dispatchAddFinished(ViewHolder)
,或者立即(如果不发生动画)或动画实际完成后调用dispatchAddFinished(ViewHolder)
。 返回值表示动画是否已经成立,以及是否ItemAnimator的runPendingAnimations()
方法应该在下次有机会被调用。 这种机制允许ItemAnimator个别动画作为单独的电话设置为animateAdd()
, animateMove()
, animateRemove()
,并animateChange(ViewHolder, ViewHolder, int, int, int, int)
进来一个接一个,然后到后来的呼叫启动动画一起runPendingAnimations()
。
这个方法也可能被调用来显示已经在RecyclerView中的项目,但是系统没有足够的信息来将它们动画到视图中。 在这种情况下,添加项目的默认动画也会在这些项目上运行。
Parameters | |
---|---|
holder |
RecyclerView.ViewHolder : The item that is being added. |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested, false otherwise. |
boolean animateAppearance (RecyclerView.ViewHolder viewHolder, RecyclerView.ItemAnimator.ItemHolderInfo preLayoutInfo, RecyclerView.ItemAnimator.ItemHolderInfo postLayoutInfo)
当ViewHolder添加到布局时,由RecyclerView调用。
详细来说,这意味着ViewHolder在布局开始时不是孩子,而是由LayoutManager添加的。 它可能是新添加到适配器或由于其他因素而变得可见。
ItemAnimator必须在动画完成时调用 dispatchAnimationFinished(ViewHolder)
(或者如果决定不动画视图,则立即调用 dispatchAnimationFinished(ViewHolder)
)。
Parameters | |
---|---|
viewHolder |
RecyclerView.ViewHolder : The ViewHolder which should be animated |
preLayoutInfo |
RecyclerView.ItemAnimator.ItemHolderInfo : The information that was returned from recordPreLayoutInformation(State, ViewHolder, int, List) . Might be null if Item was just added to the adapter or LayoutManager does not support predictive animations or it could not predict that this ViewHolder will become visible. |
postLayoutInfo |
RecyclerView.ItemAnimator.ItemHolderInfo : The information that was returned from recordPreLayoutInformation(State, ViewHolder, int, List) . |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested, false otherwise. |
boolean animateChange (RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, int fromLeft, int fromTop, int toLeft, int toTop)
在RecyclerView中更改项目时调用,如调用 notifyItemChanged(int)
或 notifyItemRangeChanged(int, int)
。
实施者可以选择是否和如何制作动画的变化,但必须随时拨打dispatchChangeFinished(ViewHolder, boolean)
每个非空不同ViewHolder,可以立即(如果不会出现动画)或动画后实际完成。 如果oldHolder
与oldHolder
是相同的newHolder
,则必须一次且仅调用一次dispatchChangeFinished(ViewHolder, boolean)
。 在这种情况下,第二个参数dispatchChangeFinished
被忽略。
返回值指示是否已经设置了动画以及是否应该在下一次调用runPendingAnimations()
方法runPendingAnimations()
方法。 这种机制允许ItemAnimator个别动画作为单独的电话设置为animateAdd()
, animateMove()
, animateRemove()
,并animateChange(ViewHolder, ViewHolder, int, int, int, int)
进来一个接一个,然后到后来的呼叫启动动画一起runPendingAnimations()
。
Parameters | |
---|---|
oldHolder |
RecyclerView.ViewHolder : The original item that changed. |
newHolder |
RecyclerView.ViewHolder : The new item that was created with the changed content. Might be null |
fromLeft |
int : Left of the old view holder |
fromTop |
int : Top of the old view holder |
toLeft |
int : Left of the new view holder |
toTop |
int : Top of the new view holder |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested, false otherwise. |
boolean animateChange (RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, RecyclerView.ItemAnimator.ItemHolderInfo preInfo, RecyclerView.ItemAnimator.ItemHolderInfo postInfo)
在布局和RecyclerView收到notifyItemChanged(int)
调用之前和之后,当适配器项存在时,由RecyclerView调用。 当调用notifyDataSetChanged()
并且适配器具有稳定的ID时,也可以调用此方法,以便RecyclerView仍然可以将视图重新绑定到相同的ViewHolders。 如果viewType当改变notifyDataSetChanged()
被调用时,此方法将不会被调用,而是animateAppearance(ViewHolder, ItemHolderInfo, ItemHolderInfo)
将被称为新ViewHolder和旧的将被回收。
如果由于调用notifyDataSetChanged()
调用此方法,则很有可能项目内容没有真正改变,但它会从适配器中反弹。 如果屏幕上的位置没有改变,那么DefaultItemAnimator
会跳过视图的动画,并且动画师也应该处理这种情况,并避免创建不必要的动画。
当一个项目被更新时,ItemAnimator有机会要求RecyclerView保持原来的项目呈现状态,并为更新的演示文稿提供一个新的ViewHolder(参见: canReuseUpdatedViewHolder(ViewHolder, List)
。如果您不知道该项目,并希望交叉淡出旧的和新的( DefaultItemAnimator
使用这种技术)。
当您为自己的布局编写自定义项目动画时,重新使用相同的ViewHolder并手动为内容更改设置动画效果可能更具性能和优雅。
当notifyItemChanged(int)
,项目的视图类型可能会更改。 如果项目的视图类型已更改或ItemAnimator返回false
这个ViewHolder时canReuseUpdatedViewHolder(ViewHolder, List)
被调用时, oldHolder
和newHolder
会有所不同ViewHolder实例代表相同的项目。 在这种情况下,只有新的ViewHolder对LayoutManager可见,但RecyclerView会为动画添加旧的ViewHolder。
ItemAnimator必须调用 dispatchAnimationFinished(ViewHolder)
为每个不同的ViewHolder当他们的动画完成(或迅速调 dispatchAnimationFinished(ViewHolder)
,如果它决定不动画视图)。
如果oldHolder和newHolder是同一个实例,则应该 只调用 一次 dispatchAnimationFinished(ViewHolder)
。
请注意,当ViewHolder同时在同一布局传递中更改并消失时,RecyclerView将调用的动画回调方法取决于ItemAnimator是否重新使用相同ViewHolder的决定,也取决于LayoutManager是否布局消失的ViewHolder的更改版本与否。 RecyclerView将调用animateChange
代替animateDisappearance
,当且仅当ItemAnimator返回false
从canReuseUpdatedViewHolder
和布局管理勾画出保存更新的信息的新视图消失。 内置的LayoutManagers尽量避免布置消失视图的更新版本。
Parameters | |
---|---|
oldHolder |
RecyclerView.ViewHolder : The ViewHolder before the layout is started, might be the same instance with newHolder. |
newHolder |
RecyclerView.ViewHolder : The ViewHolder after the layout is finished, might be the same instance with oldHolder. |
preInfo |
RecyclerView.ItemAnimator.ItemHolderInfo : The information that was returned from recordPreLayoutInformation(State, ViewHolder, int, List) . |
postInfo |
RecyclerView.ItemAnimator.ItemHolderInfo : The information that was returned from recordPreLayoutInformation(State, ViewHolder, int, List) . |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested, false otherwise. |
boolean animateDisappearance (RecyclerView.ViewHolder viewHolder, RecyclerView.ItemAnimator.ItemHolderInfo preLayoutInfo, RecyclerView.ItemAnimator.ItemHolderInfo postLayoutInfo)
当ViewHolder从布局中消失时,由RecyclerView调用。
这意味着当布局启动时,View是LayoutManager的一个子元素,但已被LayoutManager删除。 它可能已从适配器中删除,或者由于其他因素而变得不可见。 您可以通过检查传递给recordPreLayoutInformation(State, ViewHolder, int, List)
的更改标志来区分这两种情况。
请注意,当ViewHolder同时在同一布局传递中更改并消失时,RecyclerView将调用的动画回调方法取决于ItemAnimator是否重新使用相同ViewHolder的决定,也取决于LayoutManager是否布局消失的ViewHolder的更改版本与否。 当且仅当false
从canReuseUpdatedViewHolder
返回false
,并且LayoutManager布局一个新的消失视图以保存更新的信息时,RecyclerView将调用animateChange
而不是animateDisappearance
。 内置的LayoutManagers尽量避免布置消失视图的更新版本。
如果LayoutManager支持预测动画,则可以通过将视图放置在该位置来为视图提供目标消失位置。 当发生这种情况时,RecyclerView将调用recordPostLayoutInformation(State, ViewHolder)
,该调用的响应将作为postLayoutInfo
传递给此方法。
ItemAnimator在动画完成时必须调用 dispatchAnimationFinished(ViewHolder)
(或者如果决定不动画视图,则立即调用 dispatchAnimationFinished(ViewHolder)
)。
Parameters | |
---|---|
viewHolder |
RecyclerView.ViewHolder : The ViewHolder which should be animated |
preLayoutInfo |
RecyclerView.ItemAnimator.ItemHolderInfo : The information that was returned from recordPreLayoutInformation(State, ViewHolder, int, List) . |
postLayoutInfo |
RecyclerView.ItemAnimator.ItemHolderInfo : The information that was returned from recordPostLayoutInformation(State, ViewHolder) . Might be null if the LayoutManager did not layout the item. |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested, false otherwise. |
boolean animateMove (RecyclerView.ViewHolder holder, int fromX, int fromY, int toX, int toY)
在RecyclerView中移动项目时调用。 实现者可以选择是否以及如何为该变更设置动画,但是在完成后必须始终调用dispatchMoveFinished(ViewHolder)
,或者立即(如果没有动画发生)或动画实际完成后调用。 返回值表示是否已经设置了动画,以及是否应该在下一次调用runPendingAnimations()
方法runPendingAnimations()
方法。 这种机制允许ItemAnimator个别动画作为单独的电话设置为animateAdd()
, animateMove()
, animateRemove()
,并animateChange(ViewHolder, ViewHolder, int, int, int, int)
进来一个接一个,然后到后来的呼叫启动动画一起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. |
boolean animatePersistence (RecyclerView.ViewHolder viewHolder, RecyclerView.ItemAnimator.ItemHolderInfo preInfo, RecyclerView.ItemAnimator.ItemHolderInfo postInfo)
在布局和RecyclerView尚未收到 notifyItemChanged(int)
呼叫或 notifyDataSetChanged()
呼叫之前和之后,如果ViewHolder存在, notifyDataSetChanged()
调用。
这个ViewHolder仍然代表与布局开始时代表的数据相同的数据,但其布局管理器可以更改其位置/大小。
如果项目的布局位置没有改变,RecyclerView仍然会调用这个方法,因为它不会跟踪这些信息(或者不一定知道不需要动画)。 你的ItemAnimator应该处理这种情况,如果没有任何动画,它应该调用dispatchAnimationFinished(ViewHolder)
并返回false
。
当动画完成时ItemAnimator必须调用 dispatchAnimationFinished(ViewHolder)
(或者如果决定不动画视图,则立即调用 dispatchAnimationFinished(ViewHolder)
)。
Parameters | |
---|---|
viewHolder |
RecyclerView.ViewHolder : The ViewHolder which should be animated |
preInfo |
RecyclerView.ItemAnimator.ItemHolderInfo : The information that was returned from recordPreLayoutInformation(State, ViewHolder, int, List) . |
postInfo |
RecyclerView.ItemAnimator.ItemHolderInfo : The information that was returned from recordPreLayoutInformation(State, ViewHolder, int, List) . |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested, false otherwise. |
boolean animateRemove (RecyclerView.ViewHolder holder)
从RecyclerView中删除一个项目时调用。 实现者可以选择是否以及如何动画变化,但是在完成时必须始终调用dispatchRemoveFinished(ViewHolder)
,或者立即(如果不发生动画)或动画实际完成后调用dispatchRemoveFinished(ViewHolder)
。 返回值表示动画是否已经建立以及是否应该在下一次调用runPendingAnimations()
方法runPendingAnimations()
。 这种机制允许ItemAnimator个别动画作为单独的电话设置为animateAdd()
, animateMove()
, animateRemove()
,并animateChange(ViewHolder, ViewHolder, int, int, int, int)
进来一个接一个,然后到后来的呼叫启动动画一起runPendingAnimations()
。
这种方法也可以用于RecyclerView中继续存在但消失的项目,但系统没有足够的信息将它们设置为不可见。 在这种情况下,移除项目的默认动画也会在这些项目上运行。
Parameters | |
---|---|
holder |
RecyclerView.ViewHolder : The item that is being removed. |
Returns | |
---|---|
boolean |
true if a later call to runPendingAnimations() is requested, false otherwise. |
boolean canReuseUpdatedViewHolder (RecyclerView.ViewHolder viewHolder)
当一个项目被更改时,ItemAnimator可以决定是否要为动画重用相同的ViewHolder,或者RecyclerView应该创建该项目的副本,并且ItemAnimator将使用两者来运行动画(例如交叉渐变)。
请注意,只有在RecyclerView.ViewHolder
仍具有相同类型( getItemViewType(int)
)时才会调用此方法。 否则,ItemAnimator将始终以animateChange(ViewHolder, ViewHolder, ItemHolderInfo, ItemHolderInfo)
方法接收两个RecyclerView.ViewHolder
。
如果您的应用程序正在使用更改有效内容,则可以覆盖 canReuseUpdatedViewHolder(ViewHolder, List)
以根据有效 canReuseUpdatedViewHolder(ViewHolder, List)
进行确定。
Parameters | |
---|---|
viewHolder |
RecyclerView.ViewHolder : The ViewHolder which represents the changed item's old content. |
Returns | |
---|---|
boolean |
True if change animations are not supported or the ViewHolder is invalid, false otherwise. |
void dispatchAddFinished (RecyclerView.ViewHolder item)
添加动画完成时由子类调用的方法。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The item which has been added |
void dispatchAddStarting (RecyclerView.ViewHolder item)
在添加动画开始时由子类调用的方法。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The item being added |
void dispatchChangeFinished (RecyclerView.ViewHolder item, boolean oldItem)
当更改动画完成时由子类调用的方法。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The item which has been changed (this method must be called for each non-null ViewHolder passed into animateChange(ViewHolder, ViewHolder, int, int, int, int) ). |
oldItem |
boolean : true if this is the old item that was changed, false if it is the new item that replaced the old item. |
void dispatchChangeStarting (RecyclerView.ViewHolder item, boolean oldItem)
在变更动画开始时由子类调用的方法。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The item which has been changed (this method must be called for each non-null ViewHolder passed into animateChange(ViewHolder, ViewHolder, int, int, int, int) ). |
oldItem |
boolean : true if this is the old item that was changed, false if it is the new item that replaced the old item. |
void dispatchMoveFinished (RecyclerView.ViewHolder item)
移动动画完成时由子类调用的方法。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The item which has been moved |
void dispatchMoveStarting (RecyclerView.ViewHolder item)
在移动动画开始时由子类调用的方法。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The item being moved |
void dispatchRemoveFinished (RecyclerView.ViewHolder item)
删除动画完成时由子类调用的方法。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The item which has been removed |
void dispatchRemoveStarting (RecyclerView.ViewHolder item)
在删除动画开始时由子类调用的方法。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The item being removed |
boolean getSupportsChangeAnimations ()
返回此ItemAnimator是否支持更改事件的动画。
Returns | |
---|---|
boolean |
true if change animations are supported, false otherwise |
void onAddFinished (RecyclerView.ViewHolder item)
在给定ViewHolder上添加动画结束时调用。 默认实现什么都不做。 子类可能希望覆盖此方法来处理任何与动画生命周期相关的ViewHolder特定操作。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The ViewHolder being animated. |
void onAddStarting (RecyclerView.ViewHolder item)
在给定的ViewHolder上开始添加动画时调用。 默认实现什么都不做。 子类可能希望覆盖此方法来处理任何与动画生命周期相关的ViewHolder特定操作。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The ViewHolder being animated. |
void onChangeFinished (RecyclerView.ViewHolder item, boolean oldItem)
在给定ViewHolder上更改动画结束时调用。 默认实现什么都不做。 子类可能希望覆盖此方法来处理任何与动画生命周期相关的ViewHolder特定操作。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The ViewHolder being animated. |
oldItem |
boolean : true if this is the old item that was changed, false if it is the new item that replaced the old item. |
void onChangeStarting (RecyclerView.ViewHolder item, boolean oldItem)
在给定ViewHolder上启动更改动画时调用。 默认实现什么都不做。 子类可能希望覆盖此方法来处理任何与动画生命周期相关的ViewHolder特定操作。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The ViewHolder being animated. |
oldItem |
boolean : true if this is the old item that was changed, false if it is the new item that replaced the old item. |
void onMoveFinished (RecyclerView.ViewHolder item)
在给定ViewHolder上移动动画结束时调用。 默认实现什么都不做。 子类可能希望覆盖此方法来处理任何与动画生命周期相关的ViewHolder特定操作。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The ViewHolder being animated. |
void onMoveStarting (RecyclerView.ViewHolder item)
在给定ViewHolder上开始移动动画时调用。 默认实现什么都不做。 子类可能希望覆盖此方法来处理任何与动画生命周期相关的ViewHolder特定操作。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The ViewHolder being animated. |
void onRemoveFinished (RecyclerView.ViewHolder item)
在给定的ViewHolder上移除动画结束时调用。 默认实现什么都不做。 子类可能希望覆盖此方法来处理任何与动画生命周期相关的ViewHolder特定操作。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The ViewHolder being animated. |
void onRemoveStarting (RecyclerView.ViewHolder item)
在给定的ViewHolder上启动删除动画时调用。 默认实现什么都不做。 子类可能希望覆盖此方法来处理任何与动画生命周期相关的ViewHolder特定操作。
Parameters | |
---|---|
item |
RecyclerView.ViewHolder : The ViewHolder being animated. |
void setSupportsChangeAnimations (boolean supportsChangeAnimations)
设置此ItemAnimator是否支持项目更改事件的动画。 如果您将此属性设置为false,则更改项目内容的数据集上的操作将不会生成动画。 这些动画在animateChange(ViewHolder, ViewHolder, int, int, int, int)
实现中由ItemAnimator子类自行决定。 该属性的值默认为true。
Parameters | |
---|---|
supportsChangeAnimations |
boolean : true if change animations are supported by this ItemAnimator, false otherwise. If the property is false, the ItemAnimator will not receive a call to animateChange(ViewHolder, ViewHolder, int, int, int, int) when changes occur. |