我正在使用 Coil 在 Jetpack Compose 中加载远程图片,但遇到了奇怪的问题。
以下是我正在使用的代码:
当我将交叉淡入设置为
奇怪的是,当我将图像滚动到屏幕外,然后再将其滚动回屏幕时,即使交叉淡入设置为
图像A - 图像未正确显示,图像B - 我需要的正确显示。
我想使用交叉淡入,因为图片需要一点时间来加载,我希望在屏幕第一次加载时显示图片,而不是让用户向下滚动以便正确显示图片。
已经查找了一些资料,但无法解决这个问题,有任何线索吗?
以下是我正在使用的代码:
Column() {
Image(
painter = rememberImagePainter(
data = recipe.featuredImage,
builder = {
crossfade(true)
placeholder(R.drawable.empty_plate)
}
),
modifier = Modifier
.fillMaxWidth()
.height(225.dp),
contentScale = ContentScale.Crop,
contentDescription = null
) ....}
当我将交叉淡入设置为
true
时,图像不会被裁剪或拉伸以适应宽度。然而,当交叉淡入为false
时,图像会被正确地裁剪以适应宽度。奇怪的是,当我将图像滚动到屏幕外,然后再将其滚动回屏幕时,即使交叉淡入设置为
true
,它也会被正确地裁剪。
![enter image description here](https://istack.dev59.com/si8B3.webp)
我想使用交叉淡入,因为图片需要一点时间来加载,我希望在屏幕第一次加载时显示图片,而不是让用户向下滚动以便正确显示图片。
已经查找了一些资料,但无法解决这个问题,有任何线索吗?