Colton Idle
08/17/2021, 10:30 PMColton Idle
08/17/2021, 10:30 PM@Composable
fun TripleClickInterceptorBox(
navController: NavHostController,
content: @Composable BoxScope.() -> Unit
) {
var touchTimes by remember { mutableStateOf(0) }
val scope = rememberCoroutineScope()
Box(
modifier =
Modifier.fillMaxSize()
.clickable(
interactionSource = remember { MutableInteractionSource() },
indication = null,
onClick = {
touchTimes++
if (touchTimes > 2) {
scope.launch { navController.navigate("secret_screen") }
} else {
scope.launch {
delay(500)
touchTimes = 0
}
}
})) { Box() { content() } }
}
Luis
08/17/2021, 10:59 PMLuis
08/17/2021, 11:00 PMscope.launch
and then do the ifLuis
08/17/2021, 11:01 PMscope.launch {
touchTimes++
if (touchTimes > 2) {
navController.navigate("secret_screen")
} else {
delay(500)
touchTimes = 0
}
}
Colton Idle
08/18/2021, 12:16 AMLuis
08/18/2021, 12:19 AMColton Idle
08/18/2021, 12:35 AM