我有一个RecyclerView
用户选择一个项目。选择后,某些视图在文本之前变为可见(参见图像)。我想为它的外观设置动画。
项目布局上的
animateLayoutChanges
属性可以完美地完成工作,除了视图外观的动画类型 - 它会淡入。我希望它从0到100%的大小扩展,我相信它& #39; s被称为弹出'动画。
如果我禁用animateLayoutChanges
并使用XML动画,它可以工作,但附近的文本不再是动画的(它应该滑动以容纳视图及其边距的空间)。它立即向右移动,然后播放动画。反向动画更糟糕,因为文本在视图消失之前会重叠视图。
所以我需要以某种方式组合默认机制和我自己的动画。 如果不深入研究自定义动画,最简单的方法是什么?
答案 0 :(得分:31)
经过多次挖掘错误的地方后,我自己找到了答案。可能会帮助别人。
animateLayoutChanges
属性(如果已启用)使用LayoutTransition
的实例在ViewGroup
中执行其工作。
因此,为了更改动画,您可以创建LayoutTransition
的实例,为需要更改的转换设置Animator
,然后通过{{将该实例分配给ViewGroup
1}}。
在我的情况下,结果是:
setLayoutTransition()
答案 1 :(得分:0)
您可以使用animateLayoutChange进行相同的操作,只需查看以下文章
https://proandroiddev.com/the-little-secret-of-android-animatelayoutchanges-e4caab2fddec