在Android中改变布局方向的动画

问题描述 投票:2回答:1

希望了解是否可以对布局的方向变化进行动画处理。我正在以编程方式改变一个LinearLayout的方向,其中包含几个视图,从垂直到水平,我不认为应用android:animateLayoutChanges="true "到布局会自动使视图从相互顶上移动到并排时的变化产生动画。有没有什么方法可以使用linearLayout.setOrientation(LinearLayout.HORIZONTAL)对这些变化进行动画处理,而不是使用类似ObjectAnimator这样的东西,因为在这种情况下,ObjectAnimator会引起更多的问题。谢谢你

android animation orientation transitions
1个回答
1
投票

是的,你需要像你提到的那样,将其添加到你的LinearLayout部分。

android:animateLayoutChanges="true"

animateLayoutChanges "的默认行为不会对LinearLayout的方向变化产生动画。要获得该行为,你需要用这个来启用它。

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

详细内容可以在这里找到 布局转换文档但重要的是这一点。

也就是说,除了CHANGING之外的所有过渡类型都是默认启用的。你也可以通过调用这个方法来启用CHANGING过渡类型的CHANGING动画。

© www.soinside.com 2019 - 2024. All rights reserved.