【问题标题】:How to reset MotionLayout to first ConstraintSet如何将 MotionLayout 重置为第一个 ConstraintSet
【发布时间】:2021-02-02 01:08:13
【问题描述】:
我使用 ViewPager 有 3 页。重新选择页面时如何重置MotionLayout并重新运行动画?
目前,当一个页面被另一个页面替换时,我调用方法transitionToStart()。但如果用户向后滑动太快,动画transitionToStart() 将无法完成。
有没有更好的方法?
【问题讨论】:
标签:
android
animation
android-constraintlayout
android-motionlayout
【解决方案1】:
您可以执行以下操作:
motionLayout.setTransition(R.id.transition);
motionLayout.transitionToEnd();
if (instant)
motionLayout.setProgress(1);
您可以通过调用.setProgress(0)或.setProgress(1)手动设置进度
基于.setTransition(R.id.transition),您可以定义开始和结束约束(如果您有两个以上的约束集)。