希望了解是否可以动画化布局方向的更改。我正在以编程方式更改一个LinearLayout的方向,其中包含一些从垂直到水平的视图,并且我不认为将android:animateLayoutChanges =“true”应用于布局时会在视图从相互叠放变成并排放置时自动动画化更改。有没有办法使用linearLayout.setOrientation(LinearLayout.HORIZONTAL)来动画化这些更改,而不是像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动画。