Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 水平设置RecycleView动画,并将其项目居中_Android_Animation_Android Recyclerview_Adapter - Fatal编程技术网

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使用这个解决方案,我可以看到动画,但效果很差