首页 > 解决方案 > 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 触摸板上点击,但没有任何反应

标签: androidontouchlistenergoogle-chrome-osontouchandroidappsonchromeos

解决方案


在聆听并发布手指计数器和事件等之后,我确实设法使它像这样工作:

   var touchListener = OnTouchListener { view, motionEvent ->
            val action = motionEvent.action
            if (action == MotionEvent.ACTION_CANCEL && previousEvent == MotionEvent.ACTION_DOWN) //DO STUFF
            previousEvent = action
            false
        }

但对它不是很满意。


推荐阅读