Lottie for Android
来源:互联网 发布:linux 模糊查找文件 编辑:程序博客网 时间:2024/06/02 11:37
Lottie for Android
Lottie GitHub项目下载
Lottie库
Lottie解析json动画
Lottie是Airbnb开源的一个支持 Android、iOS 以及 ReactNative,利用json文件的方式快速实现动画效果的库。
json动画实现
参考链接:Lottie- 让Android动画实现更简单
- 设计师使用Adobe 的 After Effects(简称 AE)工具制作动画。
- 在AE中安装Bodymovin的插件。
Lottie 方便、适配
- 使用 Gif,这种方式当然可行,但是使用 Gif 占用空间较大,而且需要为各种屏幕尺寸、分辨率做适配,因为 Android 没有提供原生 Gif 的 api 支持,所以这种方案还会遇到兼容性问题;
- 使用帧动画,这种方式还不如 Gif,一般来说使用帧动画占用空间比 Gif 还要大的多,而且一样要做多屏幕分辨率的适配,不过一般不会遇到兼容性问题;
- 使用视频,这种方式当然可以,但是一般来说宣传片才用的上视频,一般的动画远不需要用视频才能实现的,未免有些大材小用了,而且占用空间依然很大。
- Android 5.x 之后提供了对 SVG 的支持,通过 VectorDrawable、AnimatedVectorDrawable 的结合可以实现一些稍微复杂的动画,但是兼容性是一个问题,当然这个可以通过一些第三方库来解决,不过整个实现流程非常麻烦,每次全新实现一个动画都得重头来过,最最关键的是,如果一个公司下的 App,iOS 也要实现一套一样的动画,资源的占用与开发成本就显得过大了。
简单使用Lottie
添加Lottie代码
AS添加依赖:
dependencies { compile 'com.airbnb.android:lottie:2.0.0-beta3'}
也可直接将下载的Lottie压缩包lottie-android-master\lottie\src\main\java下文件夹添加到Demo中
layout文件中添加
hello-world.json 文件只需要放在 app/src/main/assets 目录下就 ok 了,可从Lottie压缩包lottie-android-master\LottieSample\src\main\assets目录下获取json文件
<com.airbnb.lottie.LottieAnimationView android:id="@+id/animation_view" android:layout_width="wrap_content" android:layout_height="wrap_content" app:lottie_fileName="hello-world.json" app:lottie_loop="true" app:lottie_autoPlay="true" />
代码中使用
LottieAnimationView animationView = (LottieAnimationView) findViewById(R.id.animation_view);animationView.setAnimation("hello-world.json");animationView.loop(true);
0 0
- Lottie for Android
- Lottie for Android, iOS, and React Native
- Lottie for Android 开源动画
- lottie-android
- Airbnb-Lottie-android
- Lottie Android 初探
- Android Lottie体验经历
- Android Lottie使用
- Lottie
- Lottie
- android--Airbnb 动画库Lottie
- Android Lottie动画库介绍
- Android•Lottie 动画库填坑记
- Lottie- 让Android动画实现更简单
- Android Lottie动画的简单使用
- Lottie动画库 Android 端源码浅析
- Android Lottie动画框架简单例子
- Lottie Android 动画制作与使用
- ContentProvider(增删改)
- java多线程问题
- POJ1861-Network(Kruskal)
- LeetCode 50. Pow(x, n)
- 最长公共子序列和最长公共子串的区别
- Lottie for Android
- (转载)使用IntelliJ IDEA开发SpringMVC网站——开发环境
- 1414 - OUT or INOUT argument 3 for routine nenghao.xxx is not a variable or NEW pseudo-variable in B
- ThinkPad 解决启动项问题,Windows10安装Linux 双系统残留问题
- ubuntu16.04安装kde桌面出错
- 浅谈JavaScript--Array数组的join()方法
- 文章标题
- C语言结构体与共用体(1)
- sort: 349. Intersection of Two Arrays \ 350. Intersection of Two Arrays II