我正在尝试创建一个简单的应用程序,用于在屏幕上跟踪用户的手势。现在使用单点触控手势,只需在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
方法只创建一个圆圈,表示用户最初放置手指的位置。“
现在,是否可以通过多点触控手势实现同样的效果?如果是这样,我该怎么做呢?提前谢谢。
答案 0 :(得分:0)
您可能需要阅读文档中的Handling Multi-Touch Gestures章节。
基本上,每个MotionEvent
也有一个指针,可以跟踪多个手指。您必须自己完成所有状态处理。
如果你想要实现一些常见的东西,请查看支持投掷,点击,双击和滚动的GestureDetector。
答案 1 :(得分:0)
好的,所以我最终找到了解决方案。这不是我想要的,但它是我到目前为止最接近的。基本上我保持一个二维ArrayList
包含用户手指的所有坐标(最多四个手指)。在用户完成他们的手势后,我开始另一个贯穿2D ArrayList
的活动,并将所有点绘制到画布上。如果有人想要更多细节这个解决方案,请留下评论,我可以添加一些代码并深入解释。