【问题标题】: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),您可以定义开始和结束约束(如果您有两个以上的约束集)。

    【讨论】:

      猜你喜欢
      • 2019-02-16
      • 1970-01-01
      • 2021-03-16
      • 2019-07-19
      • 2021-08-02
      • 1970-01-01
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多