Flutter Lottie动画

作者: 陈水寒 | 来源:发表于2019-05-16 10:47 被阅读0次

    来源: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. 重新运行项目

    相关文章

      网友评论

        本文标题:Flutter Lottie动画

        本文链接:https://www.haomeiwen.com/subject/zrdbaqtx.html