具有三次函数的 MotionLayout motionInterpolator 无法按预期工作

MotionLayout motionInterpolator with cubic function doesn't work as expected

我有一个带有 motioninterpolator 的 MotionLayout 转换,设置了三次贝塞尔函数:

    <Transition
        android:id="@+id/transition01"
        motion:constraintSetStart="@+id/start"
        motion:constraintSetEnd="@+id/end"
        motion:motionInterpolator="cubic(.81,.1,.92,1.4)"
        motion:duration="1000">

我希望在过渡结束时在动画结束时有类似“spring”的效果,如下所示: https://cubic-bezier.com/#.81,.1,.92,1.4

但是在动画结束的时候,target view只是坚持最后的约束,没有做回弹效果。

我也试过motion:motionInterpolator="cubic-bezier(.81,.1,.92,1.4)"没有成功。

有谁知道我如何使用 MotionLayout 实现这一点?感谢任何线索。

这是我使用的版本:

implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

CL 2.0 不支持过冲插值(技术上外推)。 所以输出的上限从 0 到 1。

2.1确实支持插值。所以这将适用于 2.1(目前处于 alpha 阶段)