注:如果使用2.8以上的版本,Android要升级至AndroidX
implementation ‘com.airbnb.android:lottie:3.1.0’
第二步 将Lottie的Json文件放到 assets文件下
第三步 在XML或者代码中使用
//xml:
<com.airbnb.lottie.LottieAnimationView
android:id=“@+id/lottie_view”
android:layout_width=“300dp”
android:layout_height=“300dp”
android:layout_centerInParent=“true”/>
//Activity
lottieView = findViewById(R.id.lottie_view);
lottieView.setAnimation(“genius-avatar.json”);
lottieView.loop(true);
lottieView.playAnimation();
效果如下:
这里就不讲,因为通篇都是解析Json文件的。
但是我们可以看看 Lottie主要使用到的类和它们的作用:
首先,LottieDrawable
会分出很多图层,然后用图层管理者 CompositionLayers
去分别进行绘制。
绘制的时候根据时间,计算每个时间点的 关键帧。这个时候用到了我们在属性动画所学过的 KeyFrame
关键帧处理类
从它的概念,我们不难看出它有这一些优势,让我们在一些情况下选择它更明智:
- 性能上:
从我们去用它的代码上看,Android端的实现是基于Drawable,IOS端是基于Layer,最终都是对canvas的操作。所以 程序的操作就是 Lottie对Json进行解析,它使用的是Core Animation
的Api进行渲染得到帧动画,比原生帧动画还原度高、性能更好。
所以整个流程下来,除开解析Json文件,并无太多的性能损耗。
经测试:在没有开启硬件加速的情况下,帧率、内存、CPU都比属性动画差,开启硬件加速后,性能就差不多
- 存储上:
因为是json的形式,所以相比于 动则几M的 GIF图,它完全可以取代。
- 灵活性:
在拿到Json后,我们甚至可以通过修改Json来修改动画的一些 颜色、路径等,一个动画在不同的界面能表现出不同的形式,所以它的更新是非常灵活的。
- API完整:
它也有自己的 播放、控制进度、暂停,还可以缓存、添加额外的原生UI等。
- 兼容:
Android: API16+
IOS : IOS8+ /MacOS 10.10+
WEB:调用Bodymovin提供的js库 — bodymovin.js。
- 对程序员很友好
把制作动画的任务转移到 UI兄弟上,以后写不出或者的动画,就可以喊一句:既然是你们ui设计的,那你们ui用Lottie来做啊。
程序这边做的只需导入+播放了。
-
据说AE那边 专门导出 Json格式的插件
Bodymovin
还是有些问题的。部分AE效果无法导出 -
部分json解析后效果在移动端上 表现并不是很好。这还是因为 lottie对Json的支持并不是特别完善。
虽然是个动画,但也不是每个地方都能用,其实它就跟GIF一样,是在特殊的情况下使用
- 酷炫的 App展示页(SplashActivity)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/cf7974ef903716ee2b269c1f519ff5ca.jpeg)
尾声
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。
进阶学习视频
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
计模式汇总、Gradle知识点、常见算法题汇总。)
[外链图片转存中…(img-f1lNEdOx-1712784816633)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!