作者 | 弗拉德
起源 | 弗拉德(公众号: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"),
只须要一句话即可展现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
查看,并且能够下载下来运行并体验。