我有一个RecyclerView.Adapter,其中列表项在后台动态删除,添加和/或更新,此操作的各个效果也可以使用notifyItemRemoved,notifyItemInserted和notifyItemChanged。但我遇到的问题是,例如在屏幕中当前不可见的位置动态添加项目到列表的末尾,在这个特殊情况下,我想简要地为完整列表设置动画,这样用户就可以知道列表已更改,是否有一些特定的指导原则这样做,或者一些例子如何恰当地处理这个问题?我在调用eg之后尝试调用notifiyDataSetChanged notifyItemRemoved但是这取消了notifyItemRemoved的效果,并且没有真正的可见反馈。
答案 0 :(得分:0)
我不确定您想要实现哪种动画,但简单的事情是:将 RecyclerView参考作为参数传递给适配器并在那里制作动画在notifyItemInserted
之后,例如滚动RecyclerView的布局到最后,使用recyclerView.getLayoutManager().scrollToPosition(youPositionInTheAdapter)
哦,为了动画这些项目你也可以使用这个库https://github.com/wasabeef/recyclerview-animators
<强>更新强>
为了设置&#34; flash&#34;动画到您可以在notifyItemInserted
Animation animation = new AlphaAnimation(1.0f, 0.0f);
animation.setDuration(500);
animation.setInterpolator(new LinearInterpolator());
animation.setRepeatCount(2);
animation.setRepeatMode(Animation.REVERSE);
LayoutAnimationController controller = new LayoutAnimationController(myAnim, 0.01f);
recyclerView.setLayoutAnimation(controller);