Ral*_*kum 10 android-jetpack-compose
我在 Jetpack Compose 中有一个可组合项,可以说它是一个按钮。我想对其进行时间限制,以便在这段时间过后,可组合项(此处的按钮)消失。
有没有简单的方法可以使用可组合项来实现这一点?
或者这是一个更复杂的实现?
Phi*_*hov 21
在延迟一段时间后更改视图状态的一个简单方法是使用LaunchedEffect- 它在协程范围内执行,因此您可以delay以所需的间隔使用该函数,并在完成时更改状态值。
var isButtonVisible by remember { mutableStateOf(true) }
if (isButtonVisible) {
Button(onClick = {}) {
Text("Button")
}
}
LaunchedEffect(Unit) {
delay(5.seconds)
isButtonVisible = false
}
Run Code Online (Sandbox Code Playgroud)
一个更复杂的示例,它还将显示反向计数器:
var isButtonVisible by remember { mutableStateOf(true) }
var secondsToDisappear by remember { mutableStateOf(5) }
if (isButtonVisible) {
Button(onClick = {}) {
Text("Button will disappear in $secondsToDisappear seconds")
}
}
LaunchedEffect(Unit) {
while (secondsToDisappear > 0) {
delay(1.seconds)
secondsToDisappear -= 1
}
isButtonVisible = false
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6887 次 |
| 最近记录: |