suppender
9/8/2017 - 9:41 AM

通过使用ItemAnimator新增的canReuseUpdatedViewHolder()方法,你可以选择重用现有ViewHolder,使得其支持Item的内容动画 之前我们定义RecyclerView的Item动画往往是通过继承RecyclerView.ItemAnimato

通过使用ItemAnimator新增的canReuseUpdatedViewHolder()方法,你可以选择重用现有ViewHolder,使得其支持Item的内容动画 之前我们定义RecyclerView的Item动画往往是通过继承RecyclerView.ItemAnimator来实现的,

而新版本则推荐我们继承于RecyclerView.SimpleItemAnimator类来实现我们的动画,因为这个类封装新的api同时也提供了旧的api的支持,而且有些方法已经从这个版本中移除了,

比如以前我们是通过recyclerView.getItemAnimator().setSupportsChangeAnimations(false)这个方法来设置Item的内容改变时的动画支持,而新版本中这个方法将不再有效,而是需要通过下面的代码设置:

ItemAnimator animator = recyclerView.getItemAnimator();
if (animator instanceof SimpleItemAnimator) {
  ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
}