I am using the following code to display an image.
AsyncImage(
model = createImageUrl(audio.image_path),
contentDescription = "Song Artwork",
modifier = Modifier.fillMaxHeight()
.aspectRatio(1f)
.padding(horizontal = 4.dp),
placeholder = rememberVectorPainter(image = Icons.Outlined.MusicNote)
)
The placeholder image is not being shown. Howeve, if I use placeHolder = painterResource(R.drawable.someDrawableInMyResource), the drawable is being shown when image is loaded.
What am I doing wrong?
var loaded by remember {
mutableStateOf(false)
}
AsyncImage(
model = createImageUrl(audio.image_path),
contentDescription = "Song Artwork",
modifier = Modifier.fillMaxHeight().aspectRatio(1f).padding(horizontal = 4.dp),
placeholder = rememberVectorPainter(image = Icons.Default.MusicNote),
error = rememberVectorPainter(image = Icons.Default.MusicNote),
fallback = rememberVectorPainter(image = Icons.Default.MusicNote),
onSuccess = {
loaded = true
},
colorFilter = if (!loaded) ColorFilter.tint(LocalContentColor.current) else null
)
I used this workaround and this works. I am open for another clean suggestions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With