LottieAndroid 使用解释和源代码分析来轻松在应用程序中加载动画。
看源码的时候就按照我下面的两张时序图逐步进行。 如果你一次不明白,请再读一遍。 不用担心2.5d手游源码,多看几遍你就明白了。 其实这里并没有使用最新的框架源码,基本原理都是一样的。 不影响您使用最新版本时遇到的问题,然后定位并解决。
读源码有什么用? 当你使用这个框架遇到一些奇怪的bug时2.5d手游源码,有时候不一定是你的问题,而可能是源代码的问题。 跟踪源代码将帮助您快速定位问题。 我在使用的时候遇到了源码的问题。 后来在GitHub的issue里看到有人提到,后来的版本就修复了。
为了写这篇文章,我花了一个多星期的时间。 由于是跟公司分享,所以讲了很多细节,没有写下来。 还会有很多东西要写,不过这篇文章已经基本完成了。 可以满足您对Lottie的使用和对源码的理解,请耐心等待。
我们主要从以下四个方面进行说明:
1. Lottie简介 2. LottieAndroid的使用 3. LottieAndroid源码分析 4. 可能出现的问题有哪些? 1.洛蒂简介
为什么要使用洛蒂?
Lottie适合什么场景?
我们想用洛蒂代替什么动漫?
2.LottieAndroid的使用
如何使用
3、源码分析
动画是如何运作的?
为什么在列表中加载动画时设置了循环播放,将项目滑开然后再滑回来时动画仍然会停止播放? 为什么要添加 app:lottie_autoPlay="true" ?
性能问题全屏适配参考更新:2.5.1版本添加时遇到的问题
1.编译版本需要27
2.所有支持包版本都需要27.1.0
compile 'com.android.support:appcompat-v7:27.1.0'
3.如果引入生命周期,版本需要为1.1.0
android.arch.lifecycle:extensions:1.1.0
android.arch.lifecycle:compiler:1.1.0
如果项目中引入livedata,生命周期版本号不正确,会报如下错误:
错误:程序类型已存在:android.arch.lifecycle.LiveData
参考:
com.firebaseui:firebase-ui-firestore:3.1.0 取决于 android.arch.lifecycle:extensions:1.0.0-beta1。切换到版本 3.2.2 通过使用构建于 SupportLibrary27.1.0 上的 Lifecycle1.1 库修复了该问题。