使用Lottie动画的时候,运行发现了此报错,版本为2.4.0,在经过几番的测试后,更改了资源文件和xml里面的配置也不大行。
tips:一定要在xml里面配置资源文件,当你把资源文件raw里面的时候,xml属性为:app:lottie_rawRes="";当你是放在assets文件里的时候,配置为:
app:lottie_fileName="data.json" <com.airbnb.lottie.LottieAnimationView android:id="@+id/main_connection_animate_lottie" android:layout_width="180dp" android:layout_height="180dp" android:layout_marginBottom="20dp" app:lottie_fileName="data.json" android:visibility="invisible" app:lottie_loop="true" app:lottie_autoPlay="false" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintBottom_toBottomOf="@id/main_connection_animate"/> kotlin代码: lottieAnimationView.imageAssetsFolder = "images" lottieAnimationView.setAnimation("data.json")//设置资源文件 lottieAnimationView.loop(true)//循环播放
言归正传,出现上述报错信息,发现是是由于gradle中使用的lottie库版本过低的原因,Lottie 3.0和Bodymovin 5.5有一些重要的json优化,可以节省json大小和解析速度的1/3。
但是,可能UI给的lottie动画资源是需要Lottie 3.0以上才可以使用的,所以需要将自己依赖的Lottie动画库版本进行升级
例如:在build.gradle里面的依赖库配置
implementation 'com.airbnb.android:lottie:3.6.1'