在React Native上动画图像序列

时间:2016-07-26 03:36:12

标签: react-native

我有一个由一系列图片组成的动画:image01.pngimage02.pngimage03.png等。如何让它们在React Native上连续制作动画?

1 个答案:

答案 0 :(得分:9)

您可以尝试使用库:

首先是更高效,第二是纯JavaScript。另一种方法是按照自己的方式实现它,例如:https://github.com/facebook/react-native/issues/9280

看起来应该是这样的

export default class Animation extends Component {
    constructor(props) {
        super(props);
        this.images = [
            require('./img_01.png'),
            require('./img_02.png'),
            require('./img_03.png'),
        ];
        this.next = this.next.bind(this);
        this.state = {index: 0};
    }

    componentDidMount() {
        this.next();
    }

    next() {
        setTimeout(() => {
            this.setState({index: (this.state.index+1)%3});
            this.next();
        }, 300);
    }

    render() {
        return (
            <Image
              source={this.images[this.state.index]}
              style={styles.image}
            />
        )
    }
}