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,Toast.LENGTH_SHORT).show()
            }

如果我用2根手指轻按,就会获得想要的效果,这在android手机上有效。但是我用两根手指在chromebook触摸板上轻按,却没有任何反应

解决方法

在听完并发布手指计数器和事件等之后,我确实设法使其工作:

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

但对此并不满意。