Android 水平设置RecycleView动画,并将其项目居中
我有一个带有Android 水平设置RecycleView动画,并将其项目居中,android,animation,android-recyclerview,adapter,Android,Animation,Android Recyclerview,Adapter,我有一个带有列表适配器的回收视图 我横向处理我的物品 我有可以添加、删除和移动的动态数据 我想添加一些动画。为此,我在我的RecycleView上放置了一个ItemAnimator: recyclerView.itemAnimator = new SlideInUpAnimator(); 我用了这个 我希望将我的回收视图中的项目置于中心位置。例如,如果我有一个项目,它必须在中心 为此,我在我的RecyclerView中放置了带有wrap\u内容的layout\u width。问题是“移动”和“
列表适配器的回收视图
我横向处理我的物品
我有可以添加、删除和移动的动态数据
我想添加一些动画。为此,我在我的RecycleView
上放置了一个ItemAnimator
:
recyclerView.itemAnimator = new SlideInUpAnimator();
我用了这个
我希望将我的回收视图中的项目置于中心位置。例如,如果我有一个项目,它必须在中心
为此,我在我的RecyclerView
中放置了带有wrap\u内容的layout\u width
。问题是“移动”和“删除”动画不起作用
当我将layout\u width
放在match\u parent
中时,动画工作正常,但项目没有居中
我不明白为什么wrap\u content
会删除动画。有人能解决这个问题吗
谢谢。真是巧合,这正是我现在所挣扎的。我可以解释这一点,但不能给出确切的答案。显然,您正在设置RecyclerView
中项目的动画,而不是布局本身。通过将layout\u width
设置为WRAP\u CONTENT
,动画将显示,因为RecyclerView
不知道如何设置其宽度的动画来补偿项目动画。谢谢。我理解这个问题。我尝试让匹配的父对象处于循环视图中。要更新我的列表,我使用submitList。在这个方法的runnable参数中,我循环我的recycleview的每个元素,并重新计算边距:val p=element.layoutParams as ViewGroup.MarginLayoutParams如果(index==0)p.leftMargin=margin else p.leftMargin=100使用这个解决方案,我可以看到动画,但效果很差