Android中的Animate布局方向更改

时间:2015-10-27 20:00:39

标签: android animation orientation transitions

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

1 个答案:

答案 0 :(得分:2)

是的,您需要如上所述将其添加到LinearLayout部分。

android:animateLayoutChanges="true"

“ animateLayoutChanges”的默认行为不会使LinearLayout方向更改变为动画。要获得该行为,您需要为此启用它:

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

详细信息可以在这里LayoutTransition Documentation中找到,但重要的是:

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