LottieView关闭android上的应用程序并在IOS上运行

时间:2019-09-05 16:13:32

标签: android react-native expo lottie

在expo和react-native中使用Lottie时,所有动画均可在ios上运行,但会导致该应用在Android上崩溃。我想念的Android有什么特别的东西吗?

我创建了一个新项目,并通过处理文档here

中的代码来复制该问题。
import React from 'react';
import { Button, StyleSheet, View } from 'react-native';
import LottieView from "lottie-react-native";

export default class App extends React.Component {
  componentDidMount() {
    this.animation.play();
    // Or set a specific startFrame and endFrame with:
    // this.animation.play(30, 120);
  }

  resetAnimation = () => {
    this.animation.reset();
    this.animation.play();
  };

  render() {
    return (
      <View style={styles.animationContainer}>
        <LottieView
          ref={animation => {
            this.animation = animation;
          }}
          style={{
            width: 400,
            height: 400,
            backgroundColor: '#eee',
          }}
          source={require('./assets/gradientBall.json')}
          // OR find more Lottie files @ https://lottiefiles.com/featured
          // Just click the one you like, place that file in the 'assets' folder to the left, and replace the above 'require' statement
        />
        <View style={styles.buttonContainer}>
          <Button title="Restart Animation" onPress={this.resetAnimation} />
        </View>
      </View>
    );
  }
}

2 个答案:

答案 0 :(得分:1)

如果您使用的是 Expo,则不能使用 Lottie 3 Files。来自世博会 API 参考 (https://docs.expo.io/versions/latest/sdk/lottie/):

" 已知的问题: Lottie SDK 目前被认为属于 Expo 的“DangerZone”,因为它的实现仍处于 Alpha 阶段。

导入 Lottie 3 文件会导致预览器崩溃而没有可见错误,因为 Expo 依赖于 lottie-react-native v2。 "

答案 1 :(得分:0)

运行Yarn add lottie-react-native@3.0.3或npm install lottie-react-native@3.0.3