android - Android 如何获得右键单击(在 chromebook 的触摸板上点击 2 个手指)?
问题描述
这是我的触摸监听器:
var touchListener = OnTouchListener { view, motionEvent ->
val action = motionEvent.action
when (action and MotionEvent.ACTION_MASK) {
MotionEvent.ACTION_POINTER_DOWN -> {
Toast.makeText(activity, " Two Fingers Tapped Once. Yeeeyy :)", Toast.LENGTH_SHORT).show()
// set the mTwoFingersTapped flag to TRUE when we tap with 2 fingers at once
twoFingers = true
}
}
false
}
在我的点击监听器中,我这样做:
if (!twoFingers) {
todoListener.onCommunicationInfoClicked(addressableReference)
} else {
todoListener.onLongClicked(todoItem)
twoFingers = false
Toast.makeText(activity, " Two Fingers Tapped Once. Yeeeyy :)", Toast.LENGTH_SHORT).show()
}
这适用于 android 手机,如果我用 2 根手指点击并获得所需的效果。但是我用 2 根手指在 chromebook 触摸板上点击,但没有任何反应
解决方案
在聆听并发布手指计数器和事件等之后,我确实设法使它像这样工作:
var touchListener = OnTouchListener { view, motionEvent ->
val action = motionEvent.action
if (action == MotionEvent.ACTION_CANCEL && previousEvent == MotionEvent.ACTION_DOWN) //DO STUFF
previousEvent = action
false
}
但对它不是很满意。
推荐阅读
- reactjs - 如何在反应中使用 Hooks 更新设备宽度的状态
- javascript - 页面上特定元素上的滚动指示器
- spring-cloud-deployer-kubernetes - 使用 containerCommand 属性执行多行命令
- pseudocode - TSP 的大 O 时间复杂度
- postgresql - Karate + Gradle:有没有办法在 .java 文件中获取环境变量值并根据 env 变量值定义 Postgres DB 配置?
- angular-material - 控制 Angular Material 对话框大小的最佳做法是什么?
- spring-boot - 即使在配置之后也没有使用 Spring Boot jpa 二级缓存
- javascript - (反应)如何重定向到搜索结果页面
- c++ - 为什么此代码适用于 C++ 中的 2 Keys Keyboard 问题?
- javascript - 从 id 元素传递值并计算价格