Android:跟踪多点触控手势

时间:2013-05-13 12:29:56

标签: android gesture

我正在尝试创建一个简单的应用程序,用于在屏幕上跟踪用户的手势。现在使用单点触控手势,只需在OnTouchEvent方法中使用以下代码即可实现:

switch (event.getAction()) 
        {
            case MotionEvent.ACTION_DOWN:
              path.reset();
              this.invalidate();
              path.moveTo(eventX, eventY);
              path.addCircle(eventX, eventY, 50, Path.Direction.CW);
              return true;
            case MotionEvent.ACTION_MOVE:
              path.lineTo(eventX, eventY);
              break;
            case MotionEvent.ACTION_UP:

              break;
            default:
              return false;
        }

[addcircle方法只创建一个圆圈,表示用户最初放置手指的位置。“

现在,是否可以通过多点触控手势实现同样的效果?如果是这样,我该怎么做呢?提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可能需要阅读文档中的Handling Multi-Touch Gestures章节。

基本上,每个MotionEvent也有一个指针,可以跟踪多个手指。您必须自己完成所有状态处理。

如果你想要实现一些常见的东西,请查看支持投掷,点击,双击和滚动的GestureDetector

答案 1 :(得分:0)

好的,所以我最终找到了解决方案。这不是我想要的,但它是我到目前为止最接近的。基本上我保持一个二维ArrayList包含用户手指的所有坐标(最多四个手指)。在用户完成他们的手势后,我开始另一个贯穿2D ArrayList的活动,并将所有点绘制到画布上。如果有人想要更多细节这个解决方案,请留下评论,我可以添加一些代码并深入解释。