首页 > 解决方案 > 同时按下两个按钮

问题描述

我有左右两个按钮,我只想同时按下两个按钮,然后显示两个日志。

 val handleTouch = View.OnTouchListener { v, event ->

        val leftDown : Int
        when(v){
            btn_leftThumb -> when (event.action) {
                MotionEvent.ACTION_DOWN -> pressed(true, null)
                MotionEvent.ACTION_UP -> pressed(false, null)
            }

            btn_rightThumb -> when (event.action) {
                MotionEvent.ACTION_DOWN -> pressed(null, true)
                MotionEvent.ACTION_UP -> pressed(null, false)
            }

        }

        true
    }

    btn_leftThumb.setOnTouchListener(handleTouch)
    btn_rightThumb.setOnTouchListener(handleTouch)


private fun pressed(left:Boolean?, right:Boolean?){

    if(left == true && right == true){
        Log.i(TAG, "BOTH")
    }else if(left == false && right == true){
        Log.i(TAG, "RIGHT")
    }else if(left == true && right == false){
        Log.i(TAG, "LEFT")
    }
}

标签: androidkotlin

解决方案


您必须将每个按钮的按下状态存储在某个全局变量和 onTouchListener 更新中,然后使用您的方法检查这两个变量pressed()


推荐阅读