在Android中实现布局方向变化的动画效果

3
希望了解是否可以动画化布局方向的更改。我正在以编程方式更改一个LinearLayout的方向,其中包含一些从垂直到水平的视图,并且我不认为将android:animateLayoutChanges =“true”应用于布局时会在视图从相互叠放变成并排放置时自动动画化更改。有没有办法使用linearLayout.setOrientation(LinearLayout.HORIZONTAL)来动画化这些更改,而不是像ObjectAnimator这样会在这种情况下引起更多问题的东西?谢谢

嘿,你找到解决方案了吗?我也想通过动画改变线性布局的方向。 - liranahum
1个回答

3

是的,正如您所提到的,您需要将此内容添加到LinearLayout部分。

android:animateLayoutChanges="true"

"animateLayoutChanges"的默认行为不会为LinearLayout的方向变化进行动画处理。要获得该行为,您需要使用以下代码启用它:

val linearLayout = view.findViewById<LinearLayout>(R.id.my_linear_layout)
linearLayout.layoutTransition.enableTransitionType(LayoutTransition.CHANGING)

详细信息可在LayoutTransition文档中找到,但重要的部分是:

也就是说,默认情况下启用除CHANGING之外的所有转换类型。您还可以通过使用CHANGING transitionType调用此方法来启用CHANGING动画。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接