每当用户按住按钮时,我就开始使用“ onPanResponderMove”动画来移动动画视图
int pvalue = ds.child("Price ").getValue(Integer.class);
用于设置视图的偏移量
onPanResponderMove: (evt, gestureState) => {
if (withinbounds(gestureState.moveX, xOffset + buttonSize, xOffset + buttonSize * 2)) {
this.setState({y: this.state.y + 1});
Animated.timing(
this.state.layerOffset,
{toValue: {x: 0, y: (this.state.y * gridSize}, easing: Easing.in(Easing.ease)},
).start();
}
}
但是,当前的工作方式是直到停止按下按钮后动画视图才会移动,如何立即使动画开始,而不是等到不再按下该按钮。 state.y会不断更新。
答案 0 :(得分:1)
在玩PanResponder
时,通常使用Animated.event
而不是Animated.timing
。这里有一些doc可能会帮助您。
使用Animated.timing
时,您应该提供一个持续时间,在这种情况下您没有这样做。两者之间的区别在于Animated.timing
将在特定时间段内更改值,而Animated.event
会立即设置您想要的值。