网络上的文章多数都是几年前的了,压根不适用于现在的4.11版本。
正确写法如下:
//kotlin代码,java写法一致
Glide.with(this).asGif().load(xxx).listener(object : RequestListener<GifDrawable> {
override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<GifDrawable>?, isFirstResource: Boolean): Boolean {
return false
}
override fun onResourceReady(resource: GifDrawable, model: Any?, target: Target<GifDrawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
resource.setLoopCount(1)//设置循环次数
resource.registerAnimationCallback(object : Animatable2Compat.AnimationCallback() {
override fun onAnimationEnd(drawable: Drawable?) {
//gif播放完毕回调
}
override fun onAnimationStart(drawable: Drawable?) {
//gif播放开始回调
}
})
return false
}
}).into(xxx)