我正在尝试实现一个待办事项列表,该列表在活动页面上包含一个列表及其下的一些其他视图。
我LinearLayout在整个页面和RecyclerView列表中都使用,以及RecyclerView(ImageView,Buttons...等)下面的其他视图
这是我的最终视图层次结构:
<LinearLayout>
<TextView />
<RecyclerView />
<Button />
<EditText />
<ImageView />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我已经实现了RecyclerView可以在其中添加和删除项目的地方。我正在使用LinearLayoutManager而未指定ItemAnimatorso DefaultItemAnimator则被使用。
将项目添加到列表中可以正常工作。我的问题是,当我从中删除项目时RecyclerView(通过先从数据集中删除项目然后使用RecyclerViewAdapter.notifyItemRemoved),页面的动画效果不佳。
发生的情况是,整个页面首先对齐以适应新的RecyclerView高度,然后RecyclerView项目删除动画完成,这使得页面的行为看起来很奇怪,因为下面的所有视图都被RecyclerView对齐,而删除的项目逐渐淡出但没有牛逼失去了它的高度还没有,那么剩余的RecyclerView项目(已删除的项目如下图)滚动起来,看上去就像他们从墙下往上滑动。
我试图在网络上寻找解决方案,却找不到任何能解决我问题的方法。
我发现这个无法回答的问题描述了同样的问题。如果我的解释不够清楚,请参考它。
有人遇到同样的问题吗?有什么建议么?
谢谢。
animation android android-animation android-layout android-recyclerview