Я пытаюсь получить плавную анимацию на моем View после выпуска.
Позвольте мне объяснить, когда я нажимаю на вид и перетаскиваю его по оси Y, затем отпускаю, он должен добраться до указанной позиции, и это так, но проблема в том, что если я слишком быстро перетаскиваю анимацию «отбиванием», то оназапускает весеннюю анимацию в указанное место (когда я делаю это медленно, она работает нормально).
componentWillMount() {
this.panGesture = PanResponder.create({
onMoveShouldSetPanResponder: (evt, gestureState) => {
return (
this.isValid(gestureState.dx, gestureState.dy) &&
this.state.isTouched
);
},
onPanResponderMove: (evt, gestureState) => {
this.moveView(gestureState);
},
onPanResponderRelease: (evt, gestureState) => {
this.moveFinished(gestureState);
}
});
}
...
moveFinished(gestureState) {
const position = new Animated.Value(gestureState.moveY);
Animated.spring(position, {
toValue: this.state.endPosition,
useNativeDriver: true,
velocity: gestureState.vy
}).start();
}
Я хочу иметь возможность быстрого перетаскивания, чтобы «анимация» продолжалась от panGesture к весне.
Я попробовал пару вещей, но я всегда возвращаюсь к этому, я просто не могу понять это.