用kotlin glide ImageVIew写一段加载圆角图片的代码
时间: 2024-12-02 17:16:53 浏览: 19
在Kotlin中,你可以使用Glide库和CircleTransform来加载圆角图片到ImageView。首先,确保已添加Glide依赖。如果你还没有集成Glide,可以在build.gradle文件中添加:
```gradle
dependencies {
implementation 'com.github.bumptech.glide:glide:4.12.0'
kapt 'com.github.bumptech.glide:compiler:4.12.0'
}
```
然后,你可以编写一个方法来设置圆角图片:
```kotlin
import android.content.Context
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool
import com.bumptech.glide.request.target.SimpleTarget
import com.bumptech.glide.request.transition.Transition
import com.bumptech.glide.transformations.CircleTransform
fun loadRoundedImage(context: Context, imageUrl: String, imageView: ImageView) {
val options = RoundedTransformOptions.Builder()
.addCircleTransform(CircleTransform())
.build()
Glide.with(context)
.using(LruBitmapPool(8 * 1024 * 1024)) // 设置LruBitmapPool缓存大小
.load(imageUrl)
.apply(options)
.into(object : SimpleTarget<Drawable>() {
override fun onResourceReady(resource: Drawable?, transition: Transition?) {
imageView.setImageDrawable(resource)
}
override fun onLoadFailed(errorDrawable: Drawable?) {
imageView.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.default_image))
}
})
}
```
在这个例子中,`RoundedTransformOptions.Builder()`用于创建一个配置,`CircleTransform()`用于应用圆形边缘裁剪。`onResourceReady`回调会将处理后的图片设置到ImageView上。
阅读全文