是否有一个内置函数Modifier可以禁用其子级的任何手势检测/指针输入交互?
例如
@Composable
fun Foo() {
Box(modifier = Modifier.gesturesEnabled(enabled = false)) {
BasicText(text = "Hello", modifier = Modifier.clickable { // clickable is not enabled
// ...
})
}
}
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法来推出我自己的(非常简单)实现CompositionLocal:
val LocalGesturesEnabled = compositionLocalOf { mutableStateOf(true) }
fun Modifier.myClickable(onClick: () -> Unit, enabled: Boolean = true) = composed {
clickable(enabled = enabled && LocalGesturesEnabled.current.value, onClick)
}
Run Code Online (Sandbox Code Playgroud)
但它不适用于第三方可组合项或更复杂的可组合项(例如LazyList.