单击按钮后 android-jetpack-compose 我想禁用按钮一段时间并再次启用它

aca*_*jic 0 android kotlin android-jetpack-compose

就像标题所说,我需要在单击后禁用按钮一段时间,这样它就不可单击,当时间到期时再次启用按钮,这样它就可以单击。

    Button(
      onClick = {},
      modifier = //maybe to add code here?
    ) {
        Text(text = "Click me")
      }
Run Code Online (Sandbox Code Playgroud)

如果可以在Modifier中添加代码就太好了,那就太好了!因为这样它就可以重用,并且不仅可以用于 Button,还可以用于其他组件。

Ati*_*sal 6

这是实现此目的的一种方法delay

    var enabled by remember { mutableStateOf(true) }

    LaunchedEffect(enabled) {
        if (enabled) return@LaunchedEffect
        else delay(1000L)
        enabled = true
    }

    Button(
        onClick = { enabled = false }, 
        enabled = enabled
    ) {
        Text(text = "Click Me")
    }
Run Code Online (Sandbox Code Playgroud)