2013-05-13 3 views
0

사용자의 제스처를 화면에 표시하는 간단한 응용 프로그램을 만들려고합니다. 이제 단일 터치 제스처와 함께이 단순히 OnTouchEvent 방법에 다음 코드를 사용하여 아니라 달성 할 수있다 :Android : 멀티 터치 제스처 추적

switch (event.getAction()) 
     { 
      case MotionEvent.ACTION_DOWN: 
       path.reset(); 
       this.invalidate(); 
       path.moveTo(eventX, eventY); 
       path.addCircle(eventX, eventY, 50, Path.Direction.CW); 
       return true; 
      case MotionEvent.ACTION_MOVE: 
       path.lineTo(eventX, eventY); 
       break; 
      case MotionEvent.ACTION_UP: 

       break; 
      default: 
       return false; 
     } 

는 [addcircle 메소드는 사용자가 처음에 자신의 손가락을 넣어 어디를 상징하는 원을 생성합니다].

이제 멀티 터치 제스처로 이와 동일한 효과를 얻을 수 있습니까? 그렇다면 어떻게해야할까요? 미리 감사드립니다.

답변

0

좋아, 결국 해결책을 찾았습니다. 그것은 내가 원하는 것만은 아니지만 지금까지 얻은 것 중 가장 가까운 것입니다. 필자는 본질적으로 사용자 손가락의 모든 좌표를 포함하는 2 차원 (최대 네 손가락까지)을 유지합니다. 사용자가 제스처를 완료하면 2D ArrayList을 실행하는 다른 활동을 시작하고 모든 점을 캔버스에 그립니다. 누구든지이 솔루션에 대한 자세한 설명을 원하면 의견을 남기고 코드를 추가하고 좀 더 자세히 설명 할 수 있습니다.

0

설명서의 Handling Multi-Touch Gestures 장을 읽을 수 있습니다.

기본적으로 모든 MotionEvent에는 포인터가있어 여러 손가락을 추적 할 수 있습니다. 혼자서 모든 주 처리를해야 할 것입니다.

일반적인 것을 구현하려는 경우 flinging, tapping, double tapping 및 scrolling을 지원하는 GestureDetector을 살펴보십시오.

관련 문제