我最近从 Accompanist 的 ImagePainter 迁移到了 Coil,以下是我更新后的相关代码。
现在这些图像不会渲染,
我错过了什么来执行 Coil 的新
val painter = rememberImagePainter(DRAWABLE_RESOURCE_ID)
when (painter.state) {
is ImagePainter.State.Empty -> Timber.w("Empty")
is ImagePainter.State.Loading -> {
Box(
contentAlignment = Alignment.Center,
modifier = Modifier.wrapContentSize()
) {
CircularProgressIndicator()
}
}
is ImagePainter.State.Success -> {
Image(
painter = painter,
contentDescription = null,
contentScale = ContentScale.Fit,
modifier = Modifier
.padding(8.dp)
.size(84.dp)
.clip(RoundedCornerShape(corner = CornerSize(16.dp)))
)
}
is ImagePainter.State.Error -> Timber.e("Error")
}
现在这些图像不会渲染,
painter.state
始终为 Empty。我的旧版 Accompanist 实现在代码的这一点上显示了图像。如果我使用 Compose 提供的标准 painterResource(resId)
,它也可以正常工作。我错过了什么来执行 Coil 的新
painter
通过其状态?
rememberImagePainter
已被弃用,建议使用AsyncImagePainter
。 - undefined