2017-08-03 58 views
0

动画整个名单我有哪里列表项目被移除RecyclerView.Adapter,添加和/或在后台动态更新,并为此行动的个体效应也使用notifyItemRemoved,notifyItemInserted和notifyItemChanged工作。但是我有这样的问题,例如,一个项目是在当前未在屏幕上可见,在这种特殊情况下,我想不久动画的完整列表,这样用户就可以知道该列表改变的位置动态地添加到列表的末尾,有没有一些具体的指导方针这样做,还是一些例子如何适当地处理?我打电话后尝试调用notifiyDataSetChanged notifyItemRemoved,但是这取消了notifyItemRemoved的效果,并且没有真正的可见反馈。使用recycleView

+0

为什么不检查里面的notifyItemInserted,如果插入的项目是v是否可以或不可以? – Ricardo

+0

内部notifyItemInserted?你会怎么做?我不知道recycleView适配器内部的函数调用来执行此操作。 – David

回答

0

我不知道你想达到哪种动画,但一些简单的是:作为参数传递给适配器的RecyclerView参考和之后notifyItemInserted,例如做动画有滚动RecyclerView的布局到最后显示用户使用recyclerView.getLayoutManager().scrollToPosition(youPositionInTheAdapter)

喔新的项目和动画项目,你也可以使用这个库https://github.com/wasabeef/recyclerview-animators

更新

为了设置一个“闪光“动画到你可以使用后的整个RecyclerView 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); 
+0

问题是更普遍的,如果他们也许一些建议aproaches这种情况下,如何做到这一点,我想上“闪烁”名单不久,滚动是不是我会想。 – David

+0

好吧,动画与此自动启动,为理想的解决方案,我需要只启动如果添加/更新/删除的项目是在当前屏幕之外的列表中的位置的动画,但我觉得你的回答是有效 – David

+0

只是检查启动动画如果新插入的项目的位置是比'findLastVisibleItemPosition'布局管理https://stackoverflow.com/questions/24989218/get-visible-items-in-recyclerview – fmaccaroni