具有三次函数的 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 阶段)
我有一个带有 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 阶段)