我已经创建了一个PanResponder来垂直移动Animated.View
.当我将其从原始位置移动时,效果很好,但当我再次移动它时,它会恢复到原始位置,然后相对于touch 移动.
我把应答器直接放进了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>
谢谢