안드로이드에서 멀티 터치를 이용하여 원을 그려보겠습니다.

아래의 터치 이벤트를 응용한것으로,

단순 터치에서는 물체 1개의 좌표만 있으면 되지만, 멀티터치는 여러개의 물체의 좌표를 가지고 있어야 하기 때문에,

여러 물체의 좌표를 저장하기 위해서 PointF 배열을 사용하였습니다.

그리고 배열의 크기를 지정하는 int형 상수 MAX_POINTERS를 선언합니다.

포인터의 크기를 저장하는 pointer_counter도 같이 선언합니다.


다음으로 수정해야 할 곳이 바로 onDraw메소드인데, 여러개의 물체를 그려야 합니다.

현재 터치된 갯수만큼 그려야 하기 때문에 반복문을 사용하여, 물체를 그려줍니다.


터치의 자세한 정보를 알기 위해서 drawText를 추가하여 표시하였습니다.

point[i] !=null 즉, 터치된 좌표가 있으면, 그림을 그리도록 선언해주었습니다.

다음으로 가장 중요한 터치 이벤트 부분입니다..



멀티터치를 이렇게 구현하면 안됩니다~ㅠㅠㅠㅠ

이상하게 처음으로 터치한걸 땔경우 마지막 터치한것까지 사라져버립니다.ㅠㅠㅠㅠ

전체 소스코드 보기


저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License

'프로그래밍 > 안드로이드' 카테고리의 다른 글

Android FingerPaint  (0) 2011/01/26
Android FingerPaint  (0) 2011/01/25
Android Multi-Touch  (0) 2011/01/25
Android TouchEvent  (0) 2011/01/22
Android Canvas  (0) 2011/01/22
Android TextView BackGround  (0) 2011/01/22
Posted by stkms

티스토리 툴바