Gradle 文件
implementation "com.airbnb.android:lottie:6.4.0"
布局代码
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/flightAnimation"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layerType="hardware"
android:paddingTop="5dp"
android:visibility="visible"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/coffee_anim" />
原图
当我运行我的应用程序时
当我打开应用程序时,有时它会崩溃,有时动画会变得受宠若惊。应用程序崩溃,错误显示未跟踪版本。请让我知道问题是什么。我想知道是否有任何特定版本的lottie动画问题或其他问题。
logcat 出错
java.lang.IllegalStateException: Unable to parse composition
at com.airbnb.lottie.LottieAnimationView.lambda$static$0(LottieAnimationView.java:74)
at com.airbnb.lottie.LottieAnimationView$$ExternalSyntheticLambda1.onResult(Unknown Source:2)
at com.airbnb.lottie.LottieAnimationView$WeakFailureListener.onResult(LottieAnimationView.java:116)
at com.airbnb.lottie.LottieAnimationView$WeakFailureListener.onResult(LottieAnimationView.java:98)
at com.airbnb.lottie.LottieTask.notifyFailureListeners(LottieTask.java:179)
at com.airbnb.lottie.LottieTask.notifyListenersInternal(LottieTask.java:156)
at com.airbnb.lottie.LottieTask.$r8$lambda$PcWhj1JEfB5yfCfl8MKvw-B4LbA(Unknown Source:0)
at com.airbnb.lottie.LottieTask$$ExternalSyntheticLambda0.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: com.airbnb.lottie.parser.moshi.JsonDataException: Expected an int but was 185.49192810058594 at path $.w
at com.airbnb.lottie.parser.moshi.JsonUtf8Reader.nextInt(JsonUtf8Reader.java:815)
at com.airbnb.lottie.parser.LottieCompositionMoshiParser.parse(LottieCompositionMoshiParser.java:60)
at com.airbnb.lottie.LottieCompositionFactory.fromJsonReaderSyncInternal(LottieCompositionFactory.java:430)
at com.airbnb.lottie.LottieCompositionFactory.fromJsonReaderSync(LottieCompositionFactory.java:420)
at com.airbnb.lottie.LottieCompositionFactory.fromJsonInputStreamSync(LottieCompositionFactory.java:366)
at com.airbnb.lottie.LottieCompositionFactory.fromJsonInputStreamSync(LottieCompositionFactory.java:358)
at com.airbnb.lottie.LottieCompositionFactory.fromRawResSync(LottieCompositionFactory.java:315)
at com.airbnb.lottie.LottieCompositionFactory.lambda$fromRawRes$2(LottieCompositionFactory.java:270)
at com.airbnb.lottie.LottieCompositionFactory$$ExternalSyntheticLambda7.call
您的 json 文件似乎有问题:
尝试用 this json 代替 Coffee_anim。
输出:
<div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://jumpshare.com/embed/njrpEifqrLbuwPc6BrR7" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>