Raw*_*san 12 android kotlin android-jetpack-compose coil
Coil 接受可绘制资源作为错误占位符。有没有办法在这里使用图像 URL 来代替?
这是我正在处理的代码:
// Global variables
var currentlySelectedImageUri = mutableStateOf<Uri?>(null)
var previousImageUri: Uri? = null
// @Composable fun() {...
Image(
painter = rememberImagePainter(
if (currentlySelectedImageUri.value != null) { // use the currently selected image
currentlySelectedImageUri.value
} else {
if (previousImageUri != null) { // use the previously selected image
previousImageUri
} else {
R.drawable.blank_profile_picture // use the placeholder image
}
}, builder = {
placeholder(R.drawable.blank_profile_picture)
error(R.drawable.blank_profile_picture) // FIXME: Set the previously selected image
}),
contentDescription = "profile image",
contentScale = ContentScale.Crop,
modifier = Modifier.fillMaxWidth()
)
Run Code Online (Sandbox Code Playgroud)
Phi*_*hov 25
在 Coil 2.0.0中, 和AsyncImage都rememberAsyncImagePainter具有error接受任何其他画家的参数:
AsyncImage(
model = imageURL,
contentDescription = null,
error = painterResource(R.drawable.error)
)
Run Code Online (Sandbox Code Playgroud)
线圈1.4.0版本:
您可以检查painter.state值。
最初它是ImagePainter.State.Empty,当图像加载时它是ImagePainter.State.Loading,如果失败 - 它会变成ImagePainter.State.Error。此时,您可以更改线圈 url,例如,使用本地记住变量:
AsyncImage(
model = imageURL,
contentDescription = null,
error = painterResource(R.drawable.error)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19114 次 |
| 最近记录: |