2013-05-09 54 views
0

就像我在标题中提到的那样,当涉及到多点触控时,我不明白onTouch()方法的行为。所以我认为它可以成为并发编程的一个例子。如果不是,你能告诉我多点触摸如何使用onTouch()方法?是多点触控并发编程吗?

+0

的Android识别单点触摸和多点触摸的数量在屏幕上的指针。如果有多于或者等于2个触摸指针,则是多点触摸。 – 2013-05-09 09:38:38

回答

1

并发编程意味着多个线程访问相同的类方法,例如这是一个servlet的情况。 onTouch方法不是并发编程的示例,因为此方法不由不同的线程调用。 您可以使用Android API检测有多少手指触摸屏幕,基本上每个手指都有ID,您可以检索x,y位置和手指ID。 在onTouch方法你有MotionEvent,你就能采取行动的类型,用户在做:

int action = event.getAction() & MotionEvent.ACTION_MASK; 

,并获得手指ID:

int idx = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;