2016-05-15 4 views
0

onPanResponderReleaseハンドラーから速度を取得し、それをフィードに適用するために、Animated.decayを使用してReact Nativeアプリでドラッグを解除するジェスチャーを実装しようとしています。減衰。Flickジェスチャーを使用してビューを閉じるようにAnimated.decayの速度を設定します。

唯一のこれは、自分の速度と減速度を理解していないということです。私はこれらの価値の意味を理解するのに困っている。入力した値(gesturestate.vyからonPanResponderReleaseまで、または手動で入力した静的な値)は流体アニメーションにならず、ビューはただちに消えます。

私は

Animated.decay(this.props.dismissVal, { 
    velocity: 0.03, 
    deceleration: 0.997 
}); 

そしてdismissValのような値と遊んだが、私は運で、react-native-animated-tinder例の上に多くのことを見てきた

top: this.props.dismissVal.interpolate({ 
    inputRange: [0, 1], 
    outputRange: [0, _containerLayout.height] 
}) 

のように使用されます。私は、速度(と減速度)の値がどのように見えるかを理解するのが難しいです。

答えて

0

開始減衰を忘れないでください。 Animated.decay({...}).start();

そして、2番目の間違いは、変更しようとしている可能性がありますthis.props。あなたが小道具としてコンポーネントに渡すものはすべて、親コンポーネントでのみ変更できます。あなたの子コンポーネントでは、最終的な変数です。

//constructor 
this.state = { animatedValue: new Animated.Value() } 
.... 
.... 
Animated.decay(this.state.animatedValue, {...}).start(); 
関連する問題