Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:追踪多点触摸手势_Android_Gesture - Fatal编程技术网

Android:追踪多点触摸手势

Android:追踪多点触摸手势,android,gesture,Android,Gesture,我正在尝试创建一个简单的应用程序,它可以在屏幕上跟踪用户的手势。现在,使用单触手势,只需在OnTouchEvent方法中使用以下代码即可实现: switch (event.getAction()) { case MotionEvent.ACTION_DOWN: path.reset(); this.invalidate(); path.moveTo(eventX, eve

我正在尝试创建一个简单的应用程序,它可以在屏幕上跟踪用户的手势。现在,使用单触手势,只需在
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
方法只需创建一个圆圈,表示用户最初将手指放在何处]


现在,有没有可能通过多点触控手势达到同样的效果?如果是这样的话,我该怎么做呢?提前感谢。

您可能需要阅读文档中的章节

基本上,每个
MotionEvent
都有一个指针,可以跟踪多个手指。你必须自己处理所有的状态


如果您试图实现一些常见的功能,请查看哪些支持投掷、轻击、双击和滚动。

好的,我最终找到了解决方案。这并不完全是我想要的,但这是我迄今为止最接近的一次。基本上,我保留了一个二维
ArrayList
,其中包含用户手指的所有坐标(最多四个手指)。用户完成手势后,我会启动另一个活动,该活动将运行2D
ArrayList
,并将所有点绘制到画布上。如果有人想了解这个解决方案的更多细节,请留下评论,我可以添加一些代码并进行更深入的解释