我想加载缓存中保存的图像到Image的Jetpack组成使用线圈。我搜索了堆栈溢出,但所有建议的方法都是加载网页网址。我知道它是可能的转换图像文件为位图,然后将其传递给线圈,但有任何内置的解决方案吗?
Image
xdnvmnnf1#
可以使用Coil将任何对象作为数据加载:
Coil
val cacheFile = File(context.cacheDir, "filename") Image( rememberImagePainter(cacheFile), contentDescription = "...", )
km0tfn4u2#
如果您有本地保存的图像路径,可以尝试以下方法,
val painter = rememberImagePainter(data = File(filePath)) Image( painter = painter, contentDescription = null)
并且为了从远程URL加载图像,
val painter = rememberImagePainter(data = imageUrl) Image( painter = painter, contentDescription = null)
lf3rwulv3#
对于新版本的coil 2.2.2,rememberImagePainter没有给予我好的结果,所以我使用了这个-
rememberImagePainter
AsyncImage( model = ImageRequest.Builder(LocalContext.current) .data(<file_path>) .build(), contentDescription = "icon", contentScale = ContentScale.Inside, modifier = Modifier.size(30.dp) )
希望能帮到什么人
3条答案
按热度按时间xdnvmnnf1#
可以使用
Coil
将任何对象作为数据加载:km0tfn4u2#
如果您有本地保存的图像路径,可以尝试以下方法,
并且为了从远程URL加载图像,
lf3rwulv3#
对于新版本的coil 2.2.2,
rememberImagePainter
没有给予我好的结果,所以我使用了这个-希望能帮到什么人