RecyclerView在操作单个Item时有提供notifyItem*方法,但是都会附带闪烁动画(默认实现DefaultItemAnimator),但是调用notifyDataSetChanged()却不会,如果想要notifyItem方法,但是又不想要动画,怎么办?方法还是有的:
有两种方案:
方案一:
重写RecyclerView动画
1、新建一个类CustomAnimator集成RecyclerView.ItemAnimator
2、拷贝源代码,然后修改源码参数(发现动画效果主要是透明度问题):
1):oldViewAnim.alpha(0).setListener...
2):newViewAnimation.translationX(0).translationY(0).setDuration(getChangeDuration()).alpha(1).