【发布时间】:2022-11-05 21:33:15
【问题描述】:
我想检测 LazyColumn 中的点击手势和项目中的长按手势:
LazyColumn(
modifier = Modifier.pointerInput(Unit) {
detectTapGestures(onTap = { /* do something */})
}
) {
items(items) {
ListItem(
modifier=Modifier.pointerInput(Unit) {
detectTapGestures(onLongPress = { /* do something else */})
}
)
}
}
显然 ListItem 会消耗所有的手势。 所以我的问题是如何在不消耗它们的情况下检测点击手势?
【问题讨论】:
-
为什么不检测
ListItem上的两个手势?如果您在ListItem上有填充或项目之间有空格,您可以检测到LazyColumn上的点击并检测到项目上的点击并像在 LazyColumn 上一样操作,这不工作吗?您的另一个选择是通过删除特定的upOrCancel.consume()代码来编写 detectTapGestures -
这是因为我需要相对于 onTap 函数中的 LazyColumn 的偏移量。此外,我需要检测更多手势来处理 LazyColumn 的缩放。无论如何,谢谢你的建议。但据我所知,即使不消耗 up 事件,只要消耗了 down 事件,LazyColumn 也不会检测到手势。
标签: android android-jetpack-compose