Android kotlin glide4130加载网络图片 获取图片宽高 并设置着imageView上
要使用Glide 4.13.0加载网络图片,并获取图片的宽高,并将其设置在ImageView上,可以按照以下步骤进行操作:
- 在项目级别的build.gradle文件中,添加Glide的依赖:
dependencies {
implementation 'com.github.bumptech.glide:glide:4.13.0'
kapt 'com.github.bumptech.glide:compiler:4.13.0'
}
- 在Activity或Fragment中,使用以下代码加载网络图片:
val url = "https://example.com/image.jpg"
val imageView = findViewById<ImageView>(R.id.imageView)
Glide.with(this)
.load(url)
.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 {
if (resource != null) {
val width = resource.intrinsicWidth
val height = resource.intrinsicHeight
imageView.layoutParams.width = width
imageView.layoutParams.height = height
imageView.setImageDrawable(resource)
}
return false
}
})
.into(imageView)
在这个例子中,我们首先指定要加载的图片的URL,并使用.load(url)将其传递给Glide。然后,我们设置一个监听器,该监听器在图片加载完成时被触发。在onResourceReady方法中,我们可以获取到加载的Drawable对象,并通过resource.intrinsicWidth和resource.intrinsicHeight获取到图片的宽高。然后,我们可以将宽高设置到ImageView的LayoutParams中,并将Drawable设置到ImageView上。
请注意,以上代码中的R.id.imageView应该替换为你项目中实际的ImageView的id
原文地址: http://www.cveoy.top/t/topic/iJYL 著作权归作者所有。请勿转载和采集!