【发布时间】:2021-09-11 10:41:24
【问题描述】:
是否有内置的Modifier 禁用其子项的任何手势检测/指针输入交互?
例如
@Composable
fun Foo() {
Box(modifier = Modifier.gesturesEnabled(enabled = false)) {
BasicText(text = "Hello", modifier = Modifier.clickable { // clickable is not enabled
// ...
})
}
}
我可以使用CompositionLocal 推出自己的(非常简单的)实现:
val LocalGesturesEnabled = compositionLocalOf { mutableStateOf(true) }
fun Modifier.myClickable(onClick: () -> Unit, enabled: Boolean = true) = composed {
clickable(enabled = enabled && LocalGesturesEnabled.current.value, onClick)
}
但它不适用于第三方可组合项或更复杂的可组合项,例如 LazyList。
【问题讨论】:
标签: gesture android-jetpack-compose