1

在我的应用程序中,我想检测手指按在屏幕上的类型。触摸类型可能是单点触摸或多点触摸。我搜索了很多,但找不到任何东西。

有没有办法找到类型?

4

2 回答 2

1

不可能知道根手指在某个点,但您当然可以得到每个触摸事件的位置。给定 MotionEvent,您可以这样做:

 int pointerId = event.getPointerId(0);
 int pointerIndex = event.findPointerIndex(pointerId);
 float x = event.getX(pointerIndex);
 float y = event.getY(pointerIndex);

pointerId 对于触摸屏幕的每个手指都是唯一的。

从那里你需要做一些复杂的分析来猜测手指。如果只有一根手指触摸屏幕,则可能是食指。如果有两个,根据触摸的移动方式,猜测是食指和拇指还是食指和中指是合理的;如果他们越来越近或越来越远,很可能是索引+拇指。如果有3个手指,可能是食指+中指+无名指等。

真的,沿着这条线做的事情是你能做的最好的事情,而且肯定不会很准确。

于 2013-07-15T18:05:06.477 回答
0

不可能知道用户使用了哪些类型的手指(拇指、食指……),但您可以检测到单点/多点触摸。可能会对您有所帮助。

于 2013-07-15T18:01:46.763 回答