GestureDetector包含单个手指以及多个手指的方法。当屏幕上的手指很少并且只用一根手指传递给它时,我怎么能忽略一根手指?
答案 0 :(得分:1)
我怀疑你能做到这一点...... 手势探测器应该听取预定义的触摸/运动事件。如果屏幕上的手指太多,预定义的手势就不会发生......
但是,您可以跟踪常规的多点触控事件,并且只关注触及屏幕的第一根手指。 您可以在文档here中查看详细说明。
一旦手指触摸屏幕,生成的MotionEvent
将包含指向每个手指的单独指针:
private int mActivePointerId;
public boolean onTouchEvent(MotionEvent event) {
....
// Get the pointer ID
mActivePointerId = event.getPointerId(0);
// ... Many touch events later...
// Use the pointer ID to find the index of the active pointer
// and fetch its position
int pointerIndex = event.findPointerIndex(mActivePointerId);
// Get the pointer's current position
float x = event.getX(pointerIndex);
float y = event.getY(pointerIndex);
}