在我的应用程序中,我想检测按在屏幕上的手指类型。触摸的类型可能是单触或多点触摸。我搜索了很多,但找不到任何东西。
有没有找到类型的方法?
答案 0 :(得分:1)
没有办法知道哪个手指处于特定点,但您当然可以获得每个触摸事件的位置。给定MotionEvent,您可以这样做:
int pointerId = event.getPointerId(0);
int pointerIndex = event.findPointerIndex(pointerId);
float x = event.getX(pointerIndex);
float y = event.getY(pointerIndex);
每个手指触摸屏幕时,pointerId都是唯一的。
从那里你需要做一些复杂的分析来猜测手指。如果只有一根手指触摸屏幕,那么可能是食指。如果有两个,那么根据触摸的移动方式,猜测它是食指和拇指或食指和中指是合理的;如果它们越来越近或越远,它可能是指数+拇指。如果有3个手指,它可能是指数+中间+环等等。
真的,沿着那条线的东西是你能做的最好的,而且肯定不会很准确。
答案 1 :(得分:0)
无法知道用户使用哪种类型的手指(拇指,索引...),但您可以检测单次/多次触摸。 this可能会对您有所帮助。