2013-05-09 2 views
0

제목에서 물어 보았 듯이 멀티 터치의 경우 onTouch() 메서드 동작을 이해하지 못합니다. 그래서 이것은 동시 프로그래밍의 한 예가 될 수 있다고 생각했습니다. 그렇지 않다면 onTouch() 메서드로 멀티 터치가 어떻게 작동합니까?멀티 터치는 동시 프로그래밍입니까?

+0

안드로이드 번호로 단일 터치 및 멀티 터치를 식별을 화면에 포인터의. 2 개 이상의 터치 포인터가있는 경우 멀티 터치입니다. –

답변

1

동시 프로그래밍이란 동일한 클래스 메소드에 대한 여러 스레드 액세스를 의미합니다. 예를 들어 서블릿의 경우입니다. onTouch 메서드는 다른 스레드에서 호출하지 않기 때문에 동시 프로그래밍의 예는 아닙니다. 안드로이드 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;