在Android中更改布局方向动画



希望了解是否可以对布局方向的更改设置动画。我正在以编程方式更改LinearLayout的方向,该方向包含从垂直到水平的几个视图,我不认为当视图从一个顶部移动到并排时,将android:animateLayoutChanges="true"应用于布局会自动设置更改的动画。有没有任何方法可以使用linearLayout.setOrientation(linearLayout.Ohorizontal)来设置这些更改的动画,而不是像ObjectAnimator这样在这种情况下会导致更多问题的东西?感谢

是的,您需要将其添加到您提到的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动画。

最新更新