我正在尝试使用 Jetpack Compose Coil 显示具有填充宽度和自动高度的图像。我希望图像采用全宽和自动高度。但图像仅在我指定固定高度时显示。
Image(
painter = rememberImagePainter(
data = post.image
),
contentDescription = null,
contentScale = ContentScale.Crop,
modifier = Modifier.fillMaxWidth()
)
我试过 .fillMaxHeight()
和 .fillMaxSize()
但它不起作用。有什么办法可以做到这一点?
最佳答案
当查看 width
之一时会发生这种情况。/height
计算为零,这意味着它不应该显示,也不需要下载它。查看 this issue 中的更多原因在撰写跟踪器上。
你应该让你的大小不等于零。根据您的布局,可以使用宽度/高度/纵横比修饰符的变化来完成。
如果您想获得原始尺寸的图像,可以添加 size(OriginalSize)
给画家builder
.这将强制图像开始加载。此参数使您的 View 下载并放入图像的完整大小的内存中,而不针对当前 View 进行优化。所以小心使用它,只有当你确定图像不会太大并且你真的不能添加使用大小修饰符时。
Image(
painter = rememberImagePainter(
data = post.image,
builder = {
size(OriginalSize)
},
),
contentDescription = null,
contentScale = ContentScale.Crop,
modifier = Modifier.fillMaxWidth()
)
关于android - Auto Height Jetpack 组合线圈图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68908278/