Android 回收视图项目动画师animateAdd&;动画同时改变两者?
我正在尝试制作这个动画: 若要插入新项目,其他人将按默认方式下移。但是第一项和第二项改变。第一个与ViewType 1一起插入,然后第二个将ViewType切换为2。我目前管理3种视图类型() 1个全尺寸 2.填充 3分离器 我从DefaultItemAnimator扩展如下(): 我还把它想象成一堆:Android 回收视图项目动画师animateAdd&;动画同时改变两者?,android,animation,android-recyclerview,listviewitem,Android,Animation,Android Recyclerview,Listviewitem,我正在尝试制作这个动画: 若要插入新项目,其他人将按默认方式下移。但是第一项和第二项改变。第一个与ViewType 1一起插入,然后第二个将ViewType切换为2。我目前管理3种视图类型() 1个全尺寸 2.填充 3分离器 我从DefaultItemAnimator扩展如下(): 我还把它想象成一堆: LinearLayoutManager llm = new LinearLayoutManager(this); llm.setOrientation(LinearLayoutMana
LinearLayoutManager llm = new LinearLayoutManager(this);
llm.setOrientation(LinearLayoutManager.VERTICAL);
llm.setReverseLayout(true);
llm.setStackFromEnd(true);
recyclerView.setLayoutManager(llm);
因此,当我添加项目时,滚动必须向上移动:
recyclerView.scrollToPosition(arreglo.size()-1);
插入项()的整个代码:
但上面的代码给出了下一个结果:
我认为这是由以下几行造成的:
notifyItemRangeChanged(arreglo.size()-3,arreglo.size()-1);
有人知道如何解决这个问题吗?提前谢谢。我这样解决了它:
rv.setItemAnimator(new animadroNotificaciones(){
@Override
public void onAnimationFinished(RecyclerView.ViewHolder viewHolder) {
adaptador.notifyDataSetChanged();
}
});
notifyItemRangeChanged(arreglo.size()-3,arreglo.size()-1);
rv.setItemAnimator(new animadroNotificaciones(){
@Override
public void onAnimationFinished(RecyclerView.ViewHolder viewHolder) {
adaptador.notifyDataSetChanged();
}
});