多点触控:ACTION_POINTER_DOWN& ACTION_POINTER_UP

时间:2012-09-10 10:31:16

标签: android touch ontouchlistener motionevent

我正在尝试使用多点触控作为同时按下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_DOWNACTION_POINTER_UP,即使我尚未拉动手指。有什么想法吗?

1 个答案:

答案 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()一起使用。