【发布时间】:2021-04-18 19:50:36
【问题描述】:
我创建了一个从 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)
}
}
【问题讨论】:
标签: android kotlin android-jetpack-compose