我如何在React native中立即进行动画处理

时间:2019-07-06 13:22:50

标签: react-native animation

每当用户按住按钮时,我就开始使用“ 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会不断更新。

1 个答案:

答案 0 :(得分:1)

在玩PanResponder时,通常使用Animated.event而不是Animated.timing。这里有一些doc可能会帮助您。

使用Animated.timing时,您应该提供一个持续时间,在这种情况下您没有这样做。两者之间的区别在于Animated.timing将在特定时间段内更改值,而Animated.event会立即设置您想要的值。