如何解决 Android Studio 中的 Lottie 动画错误

问题描述 投票:0回答:1

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" />

原图

enter image description here

当我运行我的应用程序时

enter image description here

当我打开应用程序时,有时它会崩溃,有时动画会变得受宠若惊。应用程序崩溃,错误显示未跟踪版本。请让我知道问题是什么。我想知道是否有任何特定版本的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
java android android-animation lottie
1个回答
0
投票

您的 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>

© www.soinside.com 2019 - 2024. All rights reserved.