我已創建PanResponder以垂直移動Animated.View
。當我從原始位置移動它時,它可以正常工作,但是一旦我再次移動它,它就會回到其原始位置,然後相對於觸摸移動。PanResponder在第二次拖動時將Animated.View捕捉回原始位置
我正在將響應者直接打開到Animated.View
,這是否會造成這種行爲?
這是我如何定義我PanResponder:
this.state = {
drag: new Animated.ValueXY()
}
this._responder = PanResponder.create({
onStartShouldSetPanResponder:() => true,
onPanResponderMove: Animated.event([null, {
dy: this.state.drag.y
}]),
onPanResponderRelease: (e, coords) => {
...
}
})
和應用響應我的Animated.View
:
<Animated.View {...this._responder.panHandlers} style={this.state.drag.getLayout()}>
// children go here
</Animated.View>
感謝
謝謝您花時間回覆這個好的答案,並正確解釋發生了什麼。我最終使用與您提供的方法相似的方法設法解決了這個問題。 – JmJ