在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>
);
}
}
答案 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