我做了什么:
步骤 1)
在gradle中添加了如下依赖:
compile 'com.airbnb.android:lottie:2.0.0-beta4'
步骤 2)
Airbnb 不会告诉我们在哪里放置动画 JSON 文件。相反,我在他们的示例应用程序中看到它位于 app/src/main/assets 上。所以我创建了那个文件夹并在其中插入了一些 JSON 动画。
步骤 3)
在 activity_main.xml 中添加了以下内容:
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animation_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:lottie_fileName="EmptyState.json"
app:lottie_loop="true"
app:lottie_autoPlay="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
运行应用程序时出现以下错误:
04-29 12:55:37.253 21877-21877/com.example.ross.testitout E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ross.testitout, PID: 21877
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ross.testitout/com.example.ross.testitout.MainActivity}: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class com.airbnb.lottie.LottieAnimationView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
想知道我做错了什么。也缺乏详尽的教程,这很遗憾,像我这样的初学者需要花费比必要更长的时间来弄清楚事情。
最佳答案
回答我自己的问题,问题是缺少官方 assets 文件夹。您可以手动创建它,但它不会起作用。
要使其正常工作,请执行以下操作:
在 Android Studio 中打开您的项目。
选择左侧项目文件夹中的任何内容。
按alt+insert,会弹出一个菜单。
选择子菜单“文件夹”,然后单击“ Assets 文件夹”。
这将创建您存储动画所需的 Assets 文件夹。
从那里您可以插入 JSON 动画并将其链接到那里。
您可以从不同的地方获取动画(例如 lottie 文件或官方示例应用程序)或使用 Adobe After Effects 自己制作。
关于android - 错误膨胀类 com.airbnb.lottie.LottieAnimationView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43697772/