我正在尝试使用多点触控作为同时按下2件事的方法。
这是我的代码:
TouchHandle.setOnTouchListener(new OnTouchListener () {
public boolean onTouch(View view, MotionEvent event) {
int actions = event.getActionMasked();
switch (actions)
{
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
SendKeyCode(Server, "keydec.down");
case MotionEvent.ACTION_POINTER_UP:
SendKeyCode(Server, "keydec.up");
case MotionEvent.ACTION_UP:
}
return true;
}
});
问题在于,当我触摸屏幕时,服务器正在检索“keydec.down”和“keydec.up”,即使我还没有从触摸屏上取下手指。因此,当我的手指触摸屏幕时,视图TouchHandle
正在检测到ACTION_POINTER_DOWN
和ACTION_POINTER_UP
,即使我尚未拉动手指。有什么想法吗?
答案 0 :(得分:1)
int actions = event.getAction();
switch (actions)
{
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_POINTER_DOWN:
SendKeyCode(Server, "keydec.down");
break;
case MotionEvent.ACTION_POINTER_UP:
SendKeyCode(Server, "keydec.up");
break;
case MotionEvent.ACTION_UP:
break;
}
你应该在案件之间使用休息时间。而且我也认为这些MotionEvent常量可以与event.getAction()
一起使用。