Android Gradle 引入——一行依赖即可使用
Gradle 依赖
在 app/build.gradle(或 build.gradle.kts)里添加:
dependencies {
// 必选:核心库
implementation "com.airbnb.android:lottie:6.5.0"
// 可选:Jetpack Compose 支持
implementation "com.airbnb.android:lottie-compose:6.5.0"
}
查最新版本号可以看 GitHub Releases 或 Maven Central。
最低版本要求
| 项目 | 最低要求 |
|---|---|
| compileSdk | 建议 34+ |
| minSdk | 16(Android 4.1) |
| targetSdk | 无限制 |
| Kotlin | 建议 1.7+ |
| Java | 11+ |
混淆规则
如果你开了 ProGuard / R8,需要加一行混淆规则(SDK 自带,通常不需要手动加):
-dontwarn com.airbnb.lottie.**
如果发现动画不渲染,检查是不是混淆把 Lottie 内部类删掉了。
在 XML 布局里使用
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animation_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:lottie_rawRes="@raw/loading"
app:lottie_loop="true"
app:lottie_autoPlay="true" />
XML 属性:
| 属性 | 含义 |
|---|---|
lottie_rawRes | 从 res/raw/ 加载 JSON |
lottie_fileName | 从 assets/ 加载 JSON(文件名) |
lottie_url | 远程 URL 加载 |
lottie_loop | 是否循环 |
lottie_autoPlay | 是否自动播放 |
lottie_progress | 初始进度(0~1) |
lottie_speed | 倍速 |
lottie_repeatCount | 循环次数(覆盖 lottie_loop) |
lottie_repeatMode | restart / reverse |
放置 JSON 文件的位置
三种加载方式对应三种存放位置:
| 方式 | 路径 | 大小限制 |
|---|---|---|
@raw/ | res/raw/loading.json | 单文件不超过 2KB(Android Studio 默认),可改 |
assets/ | assets/loading.json | 无限制 |
| URL | 网络地址 | 取决于服务器 |
推荐优先用 assets/,不受 raw 资源的命名限制。