我正在尝试使用Animated.decay在我的React Native应用程序中实现“向下拖动以解除”的手势,以便从onPanResponderRelease
处理程序中获取速度,并将其提供给衰减。
唯一的问题是,我不知道我的速度和减速应该是多少。我在理解这些值的含义时遇到了困难。我输入的任何值(无论是来自onPanResponderRelease
的gesturestate.vy
还是我手动输入的静态值)都不会产生流畅的动画,视图会立即消失。
我在玩弄这样的价值观
Animated.decay(this.props.dismissVal, {
velocity: 0.03,
deceleration: 0.997
});
dismissVal
的用法如下
top: this.props.dismissVal.interpolate({
inputRange: [0, 1],
outputRange: [0, _containerLayout.height]
})
我看了很多关于react-native-animated-tinder的例子,都没找到。我很难理解速度(和减速)的值应该是什么样子。
发布于 2016-10-01 05:58:08
别忘了开始衰变。Animated.decay({...}).start();
第二个错误可能是尝试更改this.props
。作为道具传递给组件的所有内容都只能在父组件中更改。在你的子组件中,它是最后一个变量。
//constructor
this.state = { animatedValue: new Animated.Value() }
....
....
Animated.decay(this.state.animatedValue, {...}).start();
https://stackoverflow.com/questions/37233953
复制相似问题