Android ImageView用kotlin实现从内存加载图片
Android ImageView用kotlin如何实现从内存加载图片?
方法是使用Glide,不同的Glide版本可能代码会略有不同,但差别都不大。
以下代码使用的是Glide4.8.0版本
fun ImageView.loadFromMemory(bs: ByteArray) {
Glide.with(this)
.load(bs)
.listener(object : RequestListener<Drawable> {
override fun onLoadFailed(
e: GlideException?,
model: Any?,
target: Target<Drawable>?,
isFirstResource: Boolean
): Boolean {
return false
}
override fun onResourceReady(
resource: Drawable?,
model: Any?,
target: Target<Drawable>?,
dataSource: DataSource?,
isFirstResource: Boolean
): Boolean {
setImageDrawable(resource)
if (resource is GifDrawable) {
resource.setLoopCount(LOOP_FOREVER)
resource.start()
}
return false
}
})
.into(this)
}