使用recycleView

时间:2017-08-03 15:51:57

标签: android android-recyclerview

我有一个RecyclerView.Adapter,其中列表项在后台动态删除,添加和/或更新,此操作的各个效果也可以使用notifyItemRemoved,notifyItemInserted和notifyItemChanged。但我遇到的问题是,例如在屏幕中当前不可见的位置动态添加项目到列表的末尾,在这个特殊情况下,我想简要地为完整列表设置动画,这样用户就可以知道列表已更改,是否有一些特定的指导原则这样做,或者一些例子如何恰当地处理这个问题?我在调用eg之后尝试调用notifiyDataSetChanged notifyItemRemoved但是这取消了notifyItemRemoved的效果,并且没有真正的可见反馈。

1 个答案:

答案 0 :(得分:0)

我不确定您想要实现哪种动画,但简单的事情是:将 RecyclerView参考作为参数传递给适配器并在那里制作动画在notifyItemInserted之后,例如滚动RecyclerView的布局到最后,使用recyclerView.getLayoutManager().scrollToPosition(youPositionInTheAdapter)

向用户显示新项目

哦,为了动画这些项目你也可以使用这个库https://github.com/wasabeef/recyclerview-animators

<强>更新

为了设置&#34; flash&#34;动画到您可以在notifyItemInserted

之后使用的整个RecyclerView
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);