发布后,我试图在View上获得流畅的动画。
让我解释一下,当我按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持续到弹簧。
我尝试了几件事,但我总是回到这一点,我似乎无法弄清楚。