Реагировать на Anan.spring встроенную анимацию на PanResponderRelease - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь получить плавную анимацию на моем 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 к весне.

Я попробовал пару вещей, но я всегда возвращаюсь к этому, я просто не могу понять это.

...