2017-03-16 7 views
1

Android 5.1の物理デバイスでRN v0.40.0を実行しています。私は、フェードインで表示され、次のように上にスライドするテキストをアニメーション化しようとしている:アニメーション中にデバイスのネイティブアンドロイドクラッシュに反応します

export default class Example extends PureComponent { 
    constructor(props) { 
    super(props); 

    this.translate = new Animated.Value(-15); 
    this.fade = new Animated.Value(0); 
    } 

    componentWillReceiveProps() { 
    setTimeout(() => { 
     Animated.timing(this.translate, { 
     toValue: 0, 
     duration: 800, 
     easing: Easing.inOut(Easing.ease), 
     }).start(); 
     Animated.timing(this.fade, { 
      toValue: 1, 
      duration: 800, 
     easing: Easing.inOut(Easing.ease), 
     } 
    ).start(); 
    }, 150); 
    } 

    render() { 
    return (
     <View> 
     <Animated.View 
      style={{ 
      transform: [ 
       {translateY: this.translate}, 
      ], 
      opacity: this.fade 
      }} 
     > 
      <Text> 
       {this.props.text} 
      </Text> 
      </Animated.View> 
     </View> 
); 
} 

そして私はdevのメニューからJSバンドルをリロードなしエラーログとそのビューアプリのクラッシュに行く後時にはApplication ... stopped workingと表示されることもあります。アンドロイドメニューからアプリを起動してもOKですが、初めてクラッシュするだけです。私はクラッシュしていないアニメーションを導入する前から、アニメーションとは関係があります。ログはありません。手がかりはありません。私に何ができるのか、私は何を試すべきか、何を確認すべきかアドバイスしてください。ありがとう。

Btw、私はかなり重い背景画像(〜400k)を持つアニメーションでその問題になる可能性がありますか?

UPD:私はsetTimeoutまたはAnimation.parallelのいずれかで、並行してアニメーションを実行しようとしているときにクラッシュすることに絞られています。何が問題なの?クラッシュを引き起こしているが、Animated.parallelは私のために働いています使用してわから

答えて

0

ない:SPRING_CONFIGは

var SPRING_CONFIG = {bounciness: 0, speed: .5};//{tension: 2, friction: 3, velocity: 3}; 

とパンとfadeAnim値のようなものは、コンストラクタで設定されている

 Animated.parallel([ 
     Animated.spring(
      this.state.pan, { 
       ...SPRING_CONFIG, 
       overshootClamping: true, 
       easing: Easing.linear, 
       toValue: {x: direction, y: -200} 
      }), 
     Animated.timing(
      this.state.fadeAnim, { 
       toValue: 1, 
       easing: Easing.linear, 
       duration: 750, 
      }), 
     ]).start(); 

としてアニメーションビュー

 pan: new Animated.ValueXY(), 
     fadeAnim: new Animated.Value(0), 

:としてthis.state値

<Animated.View style={this.getStyle()}> 
    <Text style={[styles.text, {color: this.state.textColor}]}>{this.state.theText}</Text> 
</Animated.View> 
メソッドとgetStyle機能は

getStyle() { 
    return [ 
      game_styles.word_container, 
      {opacity: this.state.fadeAnim}, 
      {transform: this.state.pan.getTranslateTransform()} 
     ]; 
    } 

This tutorialは私がこれを設定助けたです...幸運!

+0

ありがとうございます!非常に有用な情報。しかし残念ながら、一度に1つの要素だけをアニメーション化してもクラッシュしました... –

+0

文書では、Animated.Valueを 'this.state = {pan:new Animated.ValueXY()、};で初期化します。親の引数。負の値が問題であるかどうかわからない – kwishnu

+0

いいえ、残念ながらそれは問題ではありません –

関連する問題