为了更清楚,我附上了零食。我正在尝试实现类似于 iOS/Android 通知栏的动画。
我成功地能够使用下面给出的代码将车把拖到底部:
const translateY = cond(
eq(gestureState, State.END),
[
cond(
greaterThan(dragY, 0),
set(
dragY,
runTiming(clockY, dragY, velocityY, 400, gestureState, () => {
console.log('f1');
}),
),
set(
dragY,
runTiming(clockY, dragY, velocityY, 0, gestureState, () => {
console.log('f2');
}),
),
),
set(offsetY, dragY),
dragY,
],
cond(
eq(gestureState, State.BEGAN),
[stopClock(clockY), finalDragY],
finalDragY,
),
);
但是,在尝试从底部对其进行动画处理时,它只是将车把捕捉到底部,然后将其动画到顶部。在进一步调试时,我意识到翻译后的位置会重置,然后它会动画。