【发布时间】:2020-06-06 17:51:01
【问题描述】:
我一直在看动作动画布局视频,我看到动画在点击或滑动后被激活,我怎样才能在所有视图创建后开始动画,例如在英雄中动画?
【问题讨论】:
-
我没有亲自尝试过,如果单击后它可以工作,那么在创建所有视图之后在视图上调用 performClick() 怎么样?
标签: android animation layout motion
我一直在看动作动画布局视频,我看到动画在点击或滑动后被激活,我怎样才能在所有视图创建后开始动画,例如在英雄中动画?
【问题讨论】:
标签: android animation layout motion
您可以在 MotionLayout 上使用方法 transitionToStart / transitionToEnd 从代码中执行动画。因此,您可以在 onStart/onResume Fragment 或 Activity 方法中调用此方法。
https://developer.android.com/reference/androidx/constraintlayout/motion/widget/MotionLayout#transitionToEnd()
例子:
class MyFragment: Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// Start animation programmatically after all views created
motion_layout.transitionToEnd()
}
}
【讨论】: