|
|
@@ -4,6 +4,8 @@ import android.view.LayoutInflater
|
|
|
import android.view.View
|
|
|
import android.view.ViewGroup
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
+import com.airbnb.lottie.LottieAnimationView
|
|
|
+import com.airbnb.lottie.LottieDrawable
|
|
|
import com.atmob.keyboard_android.R
|
|
|
import com.atmob.keyboard_android.model.AiGenerateLoadingModel
|
|
|
import me.drakeet.multitype.ItemViewBinder
|
|
|
@@ -30,7 +32,27 @@ class AiGenerateLoadingViewBinder :
|
|
|
holder: InnerViewBinder,
|
|
|
item: AiGenerateLoadingModel
|
|
|
) {
|
|
|
+ playLottieAnimation(holder.vLoadingLottieView)
|
|
|
}
|
|
|
|
|
|
- inner class InnerViewBinder(itemView: View) : RecyclerView.ViewHolder(itemView)
|
|
|
+ /**
|
|
|
+ * 播放Lottie动画
|
|
|
+ */
|
|
|
+ private fun playLottieAnimation(animationView: LottieAnimationView) {
|
|
|
+ animationView.setAnimation("lottie/anim_loading.json")
|
|
|
+ animationView.repeatCount = LottieDrawable.INFINITE
|
|
|
+ animationView.playAnimation()
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 停止Lottie动画
|
|
|
+ */
|
|
|
+ private fun stopLottieAnimation(animationView: LottieAnimationView) {
|
|
|
+ animationView.cancelAnimation()
|
|
|
+ }
|
|
|
+
|
|
|
+ inner class InnerViewBinder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
|
|
+ var vLoadingLottieView: LottieAnimationView =
|
|
|
+ itemView.findViewById(R.id.loading_lottie_view)
|
|
|
+ }
|
|
|
}
|