头图

【Flutter 3-5】Flutter进阶教程——在Flutter中使用Lottie动画

作者 | 弗拉德
来源 | 弗拉德(公众号:fulade_me)

Lottie动画

在移动开发中总是需要展示一些动画特效,作为程序员的我们并不是很擅长用代码做动画,即便是有些动画可以实现,在跨平台的过程中也会因为API的差异性导致动画在各个平台中展示的有差异。
所以为了释放程序员的双手,不再陷入写动画调参数的苦恼,Airbnb开源了一款专门用于跨平台的动画解决方案:Lottie
Lottie可以解析使用Bodymovin导出为json的Adobe After Effects动画,并在移动端和Web端展示。这样我们就可以把做动画的工作交给专业做动画的同事来完成,我们只需要使用导入json文件即可,这样是不是大大减少了程序员的工作量,并且能够:实现专业的人做专业的事。

导入Lottie框架

在Flutter中已经存在开源的Lottie库,所以我们只需要在pubspec.yaml中的dependencies导入相关的依赖即可

dependencies:
  lottie: ^0.7.0              

使用Lottie库

在需要展示Lottie动画Widget导入头文件

import 'package:lottie/lottie.dart';

默认读取本地json文件

    Lottie.asset("json/fun_do_like.json"),

2021_04_21_lottie_nomail
只需要一句话即可展示Lottie动画,是不是很简单。
我们来看其他的属性

  • repeat 是否重复执行。默认是true,如果是false,动画执行一遍就会停止
  • reverse 是否倒序播放。默认是false,如果设置为true,动画会先正序播放一遍,然后再倒序播放一遍
  • animate 是否允许播放动画。默认是true,如果设置为false,则不会播放动画

从网络读取json文件

Lottie.network("https://cdn.jsdelivr.net/gh/johnson8888/blog_pages/images/lottie_test.json",),

同样我们可以设置获取到网络资源后的回调

Lottie.network("https://cdn.jsdelivr.net/gh/johnson8888/blog_pages/images/lottie_test.json",
    onLoaded: (LottieComposition composition) {
        print("onLoaded");
    },
),

好了,关于Lottie的使用就总结这些了。

想体验以上的示例的运行效果,可以到我的Github仓库项目flutter_app->lib->routes->lottie_demo_page.dart查看,并且可以下载下来运行并体验。


公众号

一生只有一个职业:学生

29 声望
6 粉丝
0 条评论
推荐阅读
一个有趣的图片加载效果
日常在业务中会经常使用到图片,而涉及到一些大图的加载等待的时间较长,一般为了用户更好的体验,会使用一些不同的图片加载效果,比如以下几种情况:

南城FE7阅读 1.4k

封面图
与众不同的夜间开关交互效果
这个夜间模式切换开关效果是不是很炫酷,在短视频曾刷到过是一个国外的设计师看似是为了难为我们前端开发设计了一个元素超多且动画复杂的开关切换效果。

南城FE9阅读 1.3k评论 4

「持续兼容」微信H5选择照片(图片&视频)及拍照&录像
做过H5调用手机相册或者拍照的同学可能深有体会,在不同型号手机和不同的浏览器上表现各有差异,实属头疼。由于手机自带浏览器或者第三方浏览器实在太多,结合最近正在做的项目用户群体P90在微信上,文本单从兼容...

wuwhs6阅读 2.5k

封面图
CSS MASK 实现 loading动画
欢迎关注我的公众号:前端侦探分享一个简单的loading效果,如下本案例来源于 Temani Afif on CodePen,略有修改仔细观察,主要有两个动画小球的运动背景的变化看似有点复杂,其实换个角度,实现要比想象的容易很...

XboxYan6阅读 784

封面图
一个有意思的CSS图片hover效果
欢迎关注我的公众号:前端侦探今天来分享一个比较有意思的图片 hover 效果,如下案例来源于[链接],略有修改仔细观察,这个效果主要有两个要点图片被切割成多个矩形每个矩形会旋转 90 度那么,这个是如何实现的呢...

XboxYan7阅读 763

封面图
如此丝滑的按钮交互效果
今天分享一个很有特色的按钮交互效果,保证让你停不下来,原作者是Adam Kuhn,有兴趣的可以去codepen体验,地址:codepen,本文将核心功能逐一讲解,以下是在线效果图:

南城FE4阅读 1k评论 1

别用图片了,CSS遮罩合成实现带圆角的环形loading动画
欢迎关注我的公众号:前端侦探今天来用 CSS 实现一个带圆角的环形 loading 动画,效果是这样的先不考虑动画,其实就是这样一个图形那么,如何来绘制呢?下面花两分钟一起看看吧一、CSS实现思路首先,看到这环形逐...

XboxYan6阅读 953评论 2

封面图

一生只有一个职业:学生

29 声望
6 粉丝
宣传栏