gpt4 book ai didi

android - 在 Jetpack Compose 中动态更改图标

转载 作者:行者123 更新时间:2023-12-04 23:46:32 31 4
gpt4 key购买 nike

我有两个“赞”按钮图标 - ic_thumb_upic_thumb_up_selected图标的类型应该取决于 offer.likedByUser范围。

var thumbIcon by remember {
mutableStateOf(if (offer.likedByUser) R.drawable.ic_thumb_up_selected else R.drawable.ic_thumb_up)
}

IconButton(
onClick = {
offer.likedByUser = !offer.likedByUser
}
) {
Image(painter = painterResource(id = thumbIcon) )
}
为什么它不起作用?

最佳答案

这段代码

var thumbIcon by remember {
mutableStateOf(if (offer.likedByUser) R.drawable.ic_thumb_up_selected else R.drawable.ic_thumb_up)
}
只运行一次,并将值设置为 thumbs_up_selectedthumbs_up .您没有更改 mutableStateOf在您的 onClick处理程序,所以什么也没有发生。
你需要像这样改变它
var thumbIconLiked by remember {
mutableStateOf(offer.likedByUser)
}

IconButton(
onClick = {
thumbIconLiked = !thumbIconLiked
}
) {
Image(
painter = painterResource(
id = if (thumbIconLIked) {
R.drawable.ic_thumb_up_selected
} else {
R.drawable.ic_thumb_up
}
)
)
}

关于android - 在 Jetpack Compose 中动态更改图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69532327/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com