Lottie第三方库的使用方法
Lottie介绍
Lottie,Airbnb开源的动画框架,是基于CALayer的动画, 所有的路径预先在AE中计算好, 转换为Json文件, 然后自动转换为Layer的动画。
**官网:**http://airbnb.io/lottie/#/android
Lottie的使用
前置技术
java或kotlin,安卓相关技术
使用步骤
-
在项目中导入Lottie第三方库
在项目中的build.gradle文件中的dependencies中导入
implementation 'com.airbnb.android:lottie:5.0.3'
-
把json文件放入项目中的assets目录中,如果json文件中有要求图片资源的话也需要把图片资源放入assets目录中。
如图,json文件中的assets中要求了三张图片,u代表图片存放路劲,p代表图片名字。依据json文件中的要求存放资源如下图所示:
-
在相关的布局代码中引入Lottie控件
<com.airbnb.lottie.LottieAnimationView android:id="@+id/image_wave" android:layout_width="0dp" android:layout_height="0dp" android:visibility="invisible" app:layout_constraintBottom_toTopOf="@id/guide_line" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintWidth_percent="0.731" app:layout_constraintDimensionRatio="H, 1:1" app:lottie_fileName="wave.json" app:lottie_imageAssetsFolder="images" app:lottie_loop="true" />
在代码中声明Lottie动画的json文件和动画播放所需图片的存放路径,通过lottie_loop设置是否循环。
-
在Lottie动画播放的相关代码中对Lottie控件进行控制
-
播放控制
image_wave.playAnimation()
-
展示控制
image_wave.visibility = View.VISIBLE
通过展示控制可以控制动画是否出现在界面上
-