gpt4 book ai didi

android - 如何在 Android Jetpack Compose 的可组合物中启动协程

转载 作者:行者123 更新时间:2023-12-04 23:41:24 26 4
gpt4 key购买 nike

我创建了一个从 viewModel 获取项目的 LazyColumn,并且每件事都运行良好,但是 我想要的是当一个新项目插入惰性列时,我希望新项目的背景颜色为绿色 2 秒,然后变回白色 .
这是我为实现这一目标所做的,但该项目一直是绿色的:

@Composable
fun SingleItem(item: Item) {
val new = remember {
mutableStateOf(true)
}
val color: MutableState<Color> = remember {
if (new.value)
mutableStateOf(Color(0xFFB9F6CA))
else
mutableStateOf(Color(0xFFFDFDFD))
}
Card(
modifier = Modifier
.padding(4.dp)
.fillMaxWidth(),
shape = RoundedCornerShape(8.dp),
backgroundColor = color.value
) {
GlobalScope.launch {
delay(2000)
new.value= !new.value
}
Column(
modifier = Modifier
.fillMaxWidth(),
horizontalAlignment = Alignment.Start,
verticalArrangement = Arrangement.SpaceBetween
) {
Text(text = item.name, style = MaterialTheme.typography.h5)
Text(text = "${item.quantity}", style = MaterialTheme.typography.h6)
}
}
Here is a Screen shot of what I am talking about

最佳答案

您可以使用 rememberCoroutineScope 返回 CoroutineScope 的函数.
就像是:

// Create a CoroutineScope that follows this composable's lifecycle
val composableScope = rememberCoroutineScope()

composableScope.launch {
//... your code
}
更多信息 here .

关于android - 如何在 Android Jetpack Compose 的可组合物中启动协程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67152795/

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