🐥

Jetpack Compose 二度押しを避けるボタン

2022/06/29に公開

シンプルに実装できるはず。

ボタンをクリックすると3秒間無効化(グレーアウト)する。

@Composable
fun SingleButton(onClick: () -> Unit) {
  val scope = rememberCoroutineScope()
  var enabled by remember { mutableStateOf(true) }
  Button(
    onClick = {
      onClick()
      scope.launch {
        enabled = false
        delay(3000)
        enabled = true
      }
    },
    enabled = enabled
  ) {
    Text("Click")
  }
}
SingleButton() {
  Timber.d("@@@ ${System.currentTimeMillis()}")
}

👉 【Jetpack Compose】 よくあるボタンの有効化/無効化
👉 【Jetpack Compose】 rememberCoroutineScope() vs LaunchedEffect

Discussion