如何在使用Coil时从URL获取图像时显示进度条?
示例:
val imageRequest = ImageRequest.Builder(context)
.data(url)
.listener(
onStart = {
// set your progressbar visible here
},
onSuccess = { request, metadata ->
// set your progressbar invisible here
}
)
.build()
imageLoader.enqueue(request)
2.0.0-rc01
开始)来完成。SubcomposeAsyncImage(
model = image,
contentDescription = "",
loading = {
CircularProgressIndicator(color = Color.Black)
},
)
我没有使用过Coil,但我建议你可以尝试以下方法:
// Before request run on the needed method
yourProgressbar.visibility = View.VISIBLE
val request = ImageRequest.Builder(context)
.data("https://www.example.com/image.jpg")
.target { drawable ->
yourProgressbar.visibility = View.INVISIBLE
}.build()
val disposable = imageLoader.enqueue(request)
val circularProgressDrawable = CircularProgressDrawable(this)
circularProgressDrawable.strokeWidth = 5f
circularProgressDrawable.centerRadius = 30f
circularProgressDrawable.start()
imageView.load("https://www.example.com/image.jpg") {
crossfade(true)
placeholder(circularProgressDrawable)
transformations(CircleCropTransformation())
}
这是我正在做的事情,它按预期正常工作。
binding.circularProgressBar.visibility = View.VISIBLE
binding.ivTeamPic.load(url) {
target {
binding.circularProgressBar.visibility = View.GONE
binding.ivTeamPic.setImageDrawable(it)
}
}