如何从 Jetpack Compose 中的 URL 加载图像? [复制]
Posted
技术标签:
【中文标题】如何从 Jetpack Compose 中的 URL 加载图像? [复制]【英文标题】:How to load image from URL in Jetpack Compose? [duplicate] 【发布时间】:2021-07-01 14:11:28 【问题描述】:嗯,我正在研究 Compose UI,但我一直在做一些基本的事情。 其中之一是使用 Glide 显示来自 URL 的图像。
我已尝试以下代码,但未调用委托(onResourceReady 和 onLoadCleared)。
我错过了什么吗?
@Composable
fun loadPicture(url: String, contentDescription:String, modifier: Modifier = Modifier)
val bitmapState = remember mutableStateOf<Bitmap?>(null)
Glide.with(LocalContext.current).asBitmap().load(url).into(
object : CustomTarget<Bitmap>()
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?)
bitmapState.value = resource
override fun onLoadCleared(placeholder: Drawable?)
)
bitmapState.value?.let
Image(
contentDescription = contentDescription,
bitmap = it.asImageBitmap(),
modifier = modifier
)
【问题讨论】:
【参考方案1】:您可以使用 Coil 进行撰写:
https://coil-kt.github.io/coil/compose/添加依赖:
implementation("io.coil-kt:coil-compose:1.3.1")
并像这样使用它:
Image(
painter = rememberImagePainter("https://www.example.com/image.jpg"),
contentDescription = null,
modifier = Modifier.size(128.dp)
)
【讨论】:
您好,您对如何让Image
根据资产大小自动调整大小有什么建议吗?比如,假设我们在下载远程图像之前不知道它的尺寸。
@Eugene 只是不传递定义大小的修饰符。
我试过这个,但不幸的是我运气不好。我发了一个SO问题,你有时间可以看看吗? ***.com/q/68848663/2852849以上是关于如何从 Jetpack Compose 中的 URL 加载图像? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Jetpack compose 中检测 HorizontalPager 中的滑动?
没有从 jetpack compose 中的 rememberLauncherForActivityResult() 获取结果
Jetpack Compose 如何为 LazyColumn 懒惰地获取音乐文件及其元数据