Flutter Lottie动画

来源:https://github.com/CarGuo/GSYGithubAppFlutter
1、在flutter配置文件pubspec.yaml中添加依赖,如下:

dependencies:
  flutter_lottie: ^0.2.0

2、根据github上的添加以下代码到info.plist,文件目录:project/ios/Runner/Info.plist

<key>io.flutter.embedded_views_preview</key>
<true />

3、将json格式的动画拖到项目中,然后在pubspec.yaml中添加路径

assets:
    - static/file/rejection2.json

4、在代码中直接引用,如下所示

  @override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.white,
      child: Center(
        child: Container(
          width: 200,
          height: 200,
          color: Colors.white,
          child: LottieView.fromFile(
              filePath: 'static/file/rejection2.json',
            autoPlay: true,
            loop: true,
            reverse: false,
          ),
        ),
      ),
    );
  }

5、这时候在iOS上跑代码会发现提示正在pod install(停留时间很长),但是会安装失败,原因是flutter_lottie在iOS项目上依赖lottie-ios,而lottie-ios又是swift项目,所以需要在podfile中打开use_frameworks,podfile目录:project/ios/podfile,

target 'Runner' do
  use_frameworks!

6、重新编译运行,又会报错,原因是swift版本不对,用xcode打开iOS目录下的项目,按下图选择swift版本


swift版本选择.png

7、回到flutter项目,再次运行,OK!效果如下(截取的是安卓界面):


flutter_lottie运行效果.gif

注意:运行一些比较炫酷的动画时,安卓手机会崩溃,会出现以下错误,

安卓运行出错.png

是因为flutter-lottie中依赖的lottie-android版本为2.7.x,需要最新的3.0版本以上才可以。那么如何修改呢?
a. 选择代码中的LottieView跳转到第三方库中


option键+点击LottiveView.png

b. 在工具栏,按下图选择android目录


选择android目录.png

c. 在工具栏,按下图选择build.gradle文件
选择build.gradle.png

d. 拉倒文件最下方,找到dependencies,修改版本号
dependencies {
    implementation 'com.airbnb.android:lottie:3.0.2'
}

e. 重新运行项目

推荐阅读更多精彩内容