【发布时间】:2020-07-14 15:08:25
【问题描述】:
我想制作一个动画启动画面,当您启动应用程序时,Motion Layout 应该会自动启动。如何让 Motion Layout 自动启动?
【问题讨论】:
-
我想你应该澄清一下什么是动态场景?你指的是动态布局吗?
-
是的,我的意思是动态布局。
标签: android-studio splash-screen android-motionlayout
我想制作一个动画启动画面,当您启动应用程序时,Motion Layout 应该会自动启动。如何让 Motion Layout 自动启动?
【问题讨论】:
标签: android-studio splash-screen android-motionlayout
将 autoTransition="animateToEnd" 行添加到您的过渡中
<Transition
motion:constraintSetStart="@+id/start"
motion:constraintSetEnd="@+id/end"
motion:autoTransition="animateToEnd"
motion:duration="1000">
【讨论】:
首先,在 xml 中为 MotionLayout 分配一个 ID。
然后在您的活动中编写以下代码:
MotionLayout motionLayout = findViewById(R.id.motion_layout);
motionLayout.transitionToEnd();
如果你想反向转换使用这行代码:
motionLayout.transitionToStart();
【讨论】:
motion:transitionFlags="disableIntraAutoTransition" 将避免在实际状态以编程方式或由用户更改时重新设置动画。
<Transition
motion:constraintSetEnd="@+id/end"
motion:constraintSetStart="@id/start"
motion:autoTransition="animateToEnd"
motion:transitionFlags="disableIntraAutoTransition"
motion:duration="1200">
</Transition>
【讨论】: