Image(
modifier = Modifier.size(100.dp).padding(16.dp),
painter = rememberImagePainter(
ImageRequest.Builder(LocalContext.current)
// .data("https://media-cldnry.s-nbcnews.com/image/upload/t_fit-760w,f_auto,q_auto:best/streams/2013/March/130326/1C6639340-google-logo.jpg")
.data(Firebase.storage.getReference("<Redacted>"))
.crossfade(false)
.listener(object : ImageRequest.Listener {
override fun onError(request: ImageRequest, throwable: Throwable) {
super.onError(request, throwable)
Log.e("CoilRequest", "${throwable.message}")
}
})
.placeholder(getShimmerPlaceholder())
.build()
),
contentDescription = "description",
contentScale = ContentScale.Fit
)
注释代码在我从网络上使用一些随机图像时可以工作,但当我使用来自Firebase的托管图像时,在
compose 上无法正常工作,并且我收到了来自coil的错误
回调
无法获取数据。没有提供程序支持:gs://
相同的方法在视图
中被使用,然而它是有效的。
inline fun ImageView.load(data: data: StorageReference, builder: ImageRequest.Builder.() -> Unit) : Disposable {
val loadRequest = ImageRequest.Builder(context)
.data(data)
.target(this@load)
.apply(builder).build()
return FireCoil.loader(context).enqueue(loadRequest)
}
有什么想法吗?谢谢!
gs://...
开头吗?也许这个资源可以帮助你。它是用Kotlin编写的,使用Jetpack Compose。 - Alex Mamogs://...
开头? - Alex Mamo无法获取数据。没有提供支持的获取器:gs://<已打码链接>
。我正在使用io.coil-kt:coil-compose:1.3.2
版本。 - z.g.yImageView
(非Compose)获取可以正常工作。不确定是否需要检查某些网络配置,例如headers
?但是当Firebase图像加载到ImageViews
上时,这很奇怪。 - z.g.y