如何用 Lottie 动画替换 Android 可绘制图像(滑动)?
How to replace Android image drawable (glide) with a Lottie animation?
我想用一个包含 3 个状态的 Lottie 动画替换这三个状态的 WiFi 图像序列(连接、连接、连接):
- 当它 空闲 时,它应该显示 WiFi Lottie 动画的静止帧。
- 当按钮被按下时:它从第 x 帧到第 y 帧播放 WiFi Lottie 动画。
- 当它连接时:它显示来自 WiFi Lottie 动画的静止帧。
这是我需要修改的Java代码:
protected void loadIcon() {
if (state == WifiState.IDLE) {
Glide.with(this).load(R.drawable.ic_connect).into(connectButtonTextView);
Glide.with(this).load(R.drawable.ic_connect).into(connectButtonTextView);
} else if (state == WifiState.CONNECTING_WIFI || state == WifiState.CONNECTING_CREDENTIALS) {
connectButtonTextView.setVisibility(View.VISIBLE);
Glide.with(this).load(R.drawable.is_connecting).into(connectButtonTextView);
} else if (state == WifiState.CONNECTED) {
Glide.with(this).load(R.drawable.ic_connected).into(connectButtonTextView);
Glide.with(this).load(R.drawable.ic_connected).into(connectButtonTextView);
connectButtonTextView.setVisibility(View.VISIBLE);
}
}
把你ImageView
换成这个
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animationView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:lottie_url="REPLACE_JSON_URL"
app:lottie_autoPlay="true"
app:lottie_loop="true"/>
在 xml 文件中。
用下面的代码替换你的 activity 滑行代码,并根据你的 if 条件给出你的 json 文件。
animationView.setAnimation("abc.json")
animationView.playAnimation()
animationView.loop(true)
我想用一个包含 3 个状态的 Lottie 动画替换这三个状态的 WiFi 图像序列(连接、连接、连接):
- 当它 空闲 时,它应该显示 WiFi Lottie 动画的静止帧。
- 当按钮被按下时:它从第 x 帧到第 y 帧播放 WiFi Lottie 动画。
- 当它连接时:它显示来自 WiFi Lottie 动画的静止帧。
这是我需要修改的Java代码:
protected void loadIcon() {
if (state == WifiState.IDLE) {
Glide.with(this).load(R.drawable.ic_connect).into(connectButtonTextView);
Glide.with(this).load(R.drawable.ic_connect).into(connectButtonTextView);
} else if (state == WifiState.CONNECTING_WIFI || state == WifiState.CONNECTING_CREDENTIALS) {
connectButtonTextView.setVisibility(View.VISIBLE);
Glide.with(this).load(R.drawable.is_connecting).into(connectButtonTextView);
} else if (state == WifiState.CONNECTED) {
Glide.with(this).load(R.drawable.ic_connected).into(connectButtonTextView);
Glide.with(this).load(R.drawable.ic_connected).into(connectButtonTextView);
connectButtonTextView.setVisibility(View.VISIBLE);
}
}
把你ImageView
换成这个
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animationView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:lottie_url="REPLACE_JSON_URL"
app:lottie_autoPlay="true"
app:lottie_loop="true"/>
在 xml 文件中。 用下面的代码替换你的 activity 滑行代码,并根据你的 if 条件给出你的 json 文件。
animationView.setAnimation("abc.json")
animationView.playAnimation()
animationView.loop(true)