一款非常好用的动画库Lottie

2024-02-26 07:18

本文主要是介绍一款非常好用的动画库Lottie,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

Lottie是Android和iOS的移动图书馆,用于解析Adobe After Effects动画,并以Bodymovin作为json导出,并在手机和网络上本机呈现。

该项目在GitHub已经获得三个端累计3万+的star。
在Lottie社区提供了更多的动画下载。
如果你是一个设计师还可以将自己制作的作品发布到该社区。

图片来源Lottie

图片来源Lottie

兼容平台

  • Android

  • iOS

  • React Native

  • Xamarin,

  • NativeScript,

  • Titanium,

  • UWP

优势

  • 使用方便、简单
  • 无需担心屏幕尺寸适配问题
  • 减少项目开发时间,增加交互的趣味性
  • 针对平台包括了缓存和预加载功能,增加动画的流畅性
  • 可以通过网络Json地址加载

制作动画

由于Lottie是使用AE制作,并且使用Bodymovin插件导出。
所以设计师要掌握一些AE的动画的制作基础,并且需要给AE安装插件。

下面教程 部分来自Lottie设计制作官方文档

设计师需要的工具:
PhotoShop或Sketch,Adobe Illustrator,Adobe After Effects和Bodymovin

1、导出为.SVG的文件

需要使用ps,或者Sketch将作品以组的形式导出为SVG

2、导出为.AI的文件

使用Adobe Illustrator导入SVG文件,另存为.AI文件

3、将.AI导入到Adobe After Effects

使用前需要安装Bodymovin插件,该插件主要用于后面导出Json格式
1.下载 bodymovin压缩文件
2.下载 AE插件安装器 ZXP Installer
3.将bodymovin.zip文件解压,找到文件build/extension/bodymovin.zxp
将该文件使用安装器ZXP installer打开。
4.打开After Effects,然后修改 AE 的设置:Go to Edit > Preferences > General > and check on "Allow Scripts to Write Files and Access Network",开启脚本。

导出Json需要四个步骤:

.1

将导入的文件拖到项目面板底部的小组合图标。

.2

进入菜单,然后选择组合>合成设置( Composition > Composition settings)。设置fps帧

.3

选择组合中的图层,然后在图层菜单中选择“从矢量图层创建形状”,然后根据您的插画艺术品创建一个新的“形状图层”,该图形艺术品具有图形的可编辑向量属性,如路径,笔画,填充等

.4

打开AE窗口 :Window > Extensions > Bodymovin.导出就完成了

Android使用

1.在Android中引入只需要在app中的Build.gradle添加一行代码

dependencies {  compile 'com.airbnb.android:lottie:2.2.0'
}

2.将Json文件拷贝到app>src>main>assets

3.在

//代码中:mLottieLove.setAnimation("lottie.json");mLottieLove.loop(true);mLottieLove.playAnimation();

或者

//布局中:<com.airbnb.lottie.LottieAnimationViewandroid:id="@+id/loading_animation"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center_horizontal"app:lottie_fileName="permission.json"app:lottie_loop="true"app:lottie_autoPlay="true"/>

关于更多使用请参考:
设计师操作文档
官方使用文档
下载更多设计师的Json作品:
Lottie社区
Demo参考地址(多个动画切换):
https://github.com/wapchief/android-CollectionDemo



作者:八怪不姓丑
链接:https://www.jianshu.com/p/86b1103db051
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

这篇关于一款非常好用的动画库Lottie的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/748063

相关文章

Kotlin Compose Button 实现长按监听并实现动画效果(完整代码)

《KotlinComposeButton实现长按监听并实现动画效果(完整代码)》想要实现长按按钮开始录音,松开发送的功能,因此为了实现这些功能就需要自己写一个Button来解决问题,下面小编给大... 目录Button 实现原理1. Surface 的作用(关键)2. InteractionSource3.

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

无线路由器哪个品牌好用信号强? 口碑最好的三个路由器大比拼

《无线路由器哪个品牌好用信号强?口碑最好的三个路由器大比拼》不同品牌在信号覆盖、稳定性和易用性等方面各有特色,如何在众多选择中找到最适合自己的那款无线路由器呢?今天推荐三款路由器让你的网速起飞... 今天我们来聊聊那些让网速飞起来的路由器。在这个信息爆炸的时代,一个好路由器简直就是家庭网编程络的心脏。无论你

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

无线领夹麦克风什么牌子好用?揭秘领夹麦克风哪个牌子音质好!

随着短视频行业的星期,围绕着直播和视频拍摄的电子数码类产品也迎来了热销不减的高增长,其中除了数码相机外,最为重要的麦克风也得到了日益增长的高需求,尤其是无线领夹麦克风,近几年可谓是异常火爆。别看小小的一对无线麦克风,它对于视频拍摄的音质起到了极为关键的作用。 不过目前市面上的麦克风品牌种类多到让人眼花缭乱,盲目挑选的话容易踩雷,那么无线领夹麦克风什么牌子好用?今天就给大家推荐几款音质好的

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。