私はこのようなカウントダウンとして、いくつかの画像に反応するネイティブなアニメーションを作成しようとしています:私はこれを行う方法を発見したReact Nativeをアニメーション画像でカウントダウンする方法は?
3 --> ease out down duration 1 second each case
2 --> ease out down
1 --> ease out down
がアニメート反応するが、結果は私を説得し、あればしないでくださいそれをするよりよい方法が私に教えてください。
私は、要素の新しいレンダリングを実行するたびに、カウントダウンを開始すると思います。イメージ番号を変更するそれぞれの番号に対して、3つの繰り返しを繰り返すためにアニメーション可能です。これは自然な解決方法ではありません。私が持っている問題。
現在のところ、レフィックスは使用されていませんが、後で追加することがあります。 state:timeのプロパティ、開始する現在の時間はまだ使用されていません。
私が必要とするのは、明確に定義されたアニメーションで、私が示す画像でカウントダウンが起こっているということです。
私はほぼそこに着いていると思いますが、確かにこの問題に直面するより良い方法があります。ガイドとしても、どんな提案も受け入れられています。また、私はそれが順序やタイミングでした使用している可能性があり、私が見つけた文書の中に顔を取った後...反応し、ネイティブ・アニメイト数が、運を事前に
おかげ
import React from 'react';
import util from '../utils.js';
import * as Animatable from 'react-native-animatable';
import {
View,
Dimensions,
Image,
StyleSheet
} from 'react-native';
const width = Dimensions.get('window').width;
const height = Dimensions.get('window').height;
const styles = StyleSheet.create({
mainOption: {
},
container: {
width: width,
height: height,
flex: 1,
justifyContent: 'center',
flexDirection: 'column',
alignItems: 'center'
}
});
const timeLapse = [
<Image source={require('../images/1.png')} key={util.uniqueId()}/>,
<Image source={require('../images/2.png')} key={util.uniqueId()}/>,
<Image source={require('../images/3.png')} key={util.uniqueId()}/>
];
export default class StartingGameCountDown extends React.Component {
constructor(props) {
super(props);
this.state = {
time: props.time,
currentTimeToBegin: props.currentTimeToBegin,
imagePosition: 0
};
}
componentWillReceiveProps(nextProps) {
const nextImage = this.state.imagePosition + 1;
this.setState({
...this.state,
letters: nextProps.time,
currentTimeToBegin: nextProps.currentTimeToBegin,
imagePosition: nextImage
});
}
render() {
return (
<View style={styles.container}>
<Animatable.View
ref='countDown'
duration={1000}
delay={0}
iterationCount={3}
animation="fadeOutDown"
style={styles.mainOption}>
{timeLapse[this.state.imagePosition]}
</Animatable.View>
</View>
);
}
}