我正在尝试使用ConstraintSet从布局文件创建动画:
final ConstraintSet target = new ConstraintSet();
target.clone(context, R.layout.layout_name);
TransitionManager.beginDelatedTransition(sceneRoot);
target.applyTo(constraintLayout);
这可以制作动画,但是我想将动画绑定到抽屉视图,因此当用户手动拖动抽屉时会发生这种情况。在抽屉侦听器中,我可以得到一个slideOffset
浮点数,该浮点数在拖动抽屉时被调用,但是找不到在ConstraintSet动画过程中要使用的计算步骤的方法。我怎么能得到这个,或者有更好的现有方法将动画绑定到这样的侦听器上?
答案 0 :(得分:0)
正如我担心的那样,目前看来,使用ConstraintSet确实不可能做到这一点。好消息是,ConstraintLayout 2.0
即将推出,其中包括针对此问题的现成解决方案:MotionLayout。 MotionLayout将使用ConstraintLayout UI允许各种复杂的动画,并具有一个setProgress()
方法,该方法可以直接绑定到抽屉侦听器(或任何其他线性动画步骤提供程序)。