You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Compose中使用Coil获取并显示图片URI相关问题

Android Compose中Coil加载图片及版本升级问题解决

一、图片URI加载问题

你获取的content://格式URI无需手动添加.jpg/.png后缀,Coil原生支持直接加载这类媒体库URI,加载失败和后缀无关。若需获取图片格式信息(MIME类型),可通过ContentResolver获取:

val context = LocalContext.current
imageUri?.let { uri ->
    val mimeType = context.contentResolver.getType(uri)
    // 返回值示例:image/jpeg、image/png
}

正确的图片加载代码(直接传入已有的imageUri对象即可,无需二次解析):

imageUri?.let { uri ->
    Image(
        painter = rememberImagePainter(data = uri),
        contentDescription = "选中的图片",
        modifier = Modifier.size(200.dp),
        contentScale = ContentScale.FillWidth
    )
}

二、Coil 2.x API找不到问题

Coil 2.x将Compose相关API拆分至独立的coil-compose库,仅依赖核心coil库会导致AsyncImage、rememberAsyncImagePainter等API无法找到。需添加对应依赖:

implementation "io.coil-kt:coil-compose:2.2.2"

添加依赖后,推荐使用AsyncImage加载图片(Coil 2.x官方推荐方式):

imageUri?.let { uri ->
    AsyncImage(
        model = uri,
        contentDescription = "选中的图片",
        modifier = Modifier.size(200.dp),
        contentScale = ContentScale.FillWidth
    )
}

内容的提问来源于stack exchange,提问作者Equlo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 08:38:49