我有一个RecyclerView
. 回收站视图的每个项目都可以展开或不展开。一次只能展开一项。
本质上,我正在尝试在棒棒糖拨号器中重新创建历史列表。
我发现在 RecyclerView 上使用 LayoutTransition 会使其崩溃。
但是我无法正确地为两种状态之间的项目视图更改设置动画。
我已经尝试过getItemAnimator().setSupportsChangeAnimations(true)
,notifyItemChanged(getPosition())
但有两个问题:
- 视图被重新创建,使过渡变得非常奇怪,因为它在项目移动的同时淡入下一个项目上方。出现的新视图没有调整大小,它已经是全尺寸。
- 重新创建视图时,旧视图淡出而新视图淡入,这使得视图背景颜色闪烁。
我还尝试LayoutTransition
在动画期间在项目视图上设置 a,但这种方法的问题是 RecycleView 的布局会立即更新并且不跟随动画。
我为这两次尝试都创建了一个关于这个问题的小型演示项目。 项目来源在这里。
如何在项目布局更改时创建平滑过渡?