recyclerview局部刷新闪烁

来源:互联网 发布:c语言 生成时间戳 编辑:程序博客网 时间:2024/05/17 22:48

画导致的,所以解决的方法就是修改默认的动画。

首先把默认的动画(DefaultItemAnimator)代码复制到自定义的MyItemAnimator类里面。
接着找到animateChangeImpl方法修改其中的两行代码。

复制代码
// 去掉alpha(0)oldViewAnim.alpha(0).setListener(new VpaListenerAdapter() {...}).start();oldViewAnim.setListener(new VpaListenerAdapter() {...}).start();// 去掉alpha(1)newViewAnimation.translationX(0).translationY(0).setDuration(getChangeDuration()).                    alpha(1).setListener(new VpaListenerAdapter() {...}).start();newViewAnimation.translationX(0).translationY(0).setDuration(getChangeDuration()).                    setListener(new VpaListenerAdapter() {...}).start();
复制代码

最后使用修改后的动画。

recyclerView.setItemAnimator(new MyItemAnimator());
使用问题发现不完美,会在cardview的阴影处有闪烁一下
http://stackoverflow.com/questions/31897469/override-animation-for-notifyitemchanged-in-recyclerview-adapter
0 0