我已为我的recyclerview
应用动画,如下所示
SlideInRightAnimator animator = new SlideInRightAnimator();//using custom Animation to remove the recyclerview Item
animator.setRemoveDuration(200);//specify the duration to run the animation
mRecyclerView.setItemAnimator(animator);
我已将这个动画应用于recyclerview,因为我不知道
但是,一旦我notifyItemRemoved()
,我想在我的适配器中取消停止动画。
我理解onBindViewHolder
会立即被调用,但不确定如何将我的动画师传递到我的Recyclerview
适配器或通常调用停止动画。
我在Fragment中有eventbus处理程序,我在Adapter上调用removeItem方法,如下所示。
public void onEventMainThread(MyEvent event) {
switch (event.getEventType()) {
......
case DELETE:
mAdapter.removeItem(event.getItem());
break;
default: break;
}
}
更新:在调用通知项目后,我也尝试了以下操作:
mRecyclerView.setItemAnimator(null);
但这最终会一起取消动画
感谢您的回应
答案 0 :(得分:0)
好吧,我想出了一个有效的选项。我相信有更好的选择,但这就是我的所作所为。
在我的Adapter类中,我在onBindViewHolder
方法中复制了视图持有者的引用。然后在onRemoveItem
方法中,我使用viewHolder的itemview
来动画使用ObjectAnimator
和动画集。在动画之后,我将视图副本复制为null。
通过这种方式,我可以在个人视图上实现动画。