Joa*_*iba 5 android android-jetpack-compose
Jetpack Compose 中的可点击修饰符似乎无法在鼠标输入的情况下区分按钮类型
您知道如何管理这个用例吗?
我找到了两种方法来让它为我工作。
首先是使用pointerInput,你必须小心地使用事件,否则它可以被处理两次:
modifier = Modifier
.pointerInput(Unit) {
awaitPointerEventScope {
val event = awaitPointerEvent()
if (event.type == PointerEventType.Press &&
event.buttons.isSecondaryPressed) {
event.changes.forEach { e -> e.consume() }
// on-click logic here
}
}
}
Run Code Online (Sandbox Code Playgroud)
其次是使用新的实验性 API:
modifier = Modifier
.onClick(
matcher = PointerMatcher.mouse(PointerButton.Secondary),
onClick = {
// ...
}
)
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都有一些怪癖,其中按钮处理稍微在按钮之外的事件,对此还有进一步的解决方法。
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |