android - 同时按下两个按钮
问题描述
我有左右两个按钮,我只想同时按下两个按钮,然后显示两个日志。
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")
}
}
解决方案
您必须将每个按钮的按下状态存储在某个全局变量和 onTouchListener 更新中,然后使用您的方法检查这两个变量pressed()
推荐阅读
- swift - 如何在 Swift 4 中使用 Swift 切换到上一个屏幕而不会丢失数据
- angular - 使用 TestBed 为具有依赖关系的 Angular 服务创建测试用例
- jmeter - HTTP 请求的响应显示错误,如“HttpClient4”实现的 401“未授权”
- android - 显示键盘时自动调整布局
- python - Pandas 列中的模式识别
- javascript - 如何在framework7中将按钮右对齐
- regex - 删除匹配行后的所有内容
- javascript - 传递异步获取的属性
- xamarin - Xamarin Forms ProgressBar 高度不可控
- angular - kendo-ui angular 6 如何在多个网格之间排列/复制宽度?