출처 : http://spitfire.tistory.com/78
안드로이드 기본 SDK에서 제공하는 widget... MSDN수준의 문서화를 기대하는 건 아니지만 아무래도 API설명이 좀 부실하다 보니 있는 기능을 몰라서 안 쓰거나 없는 기능인데 찾느라 한참 헤메는 경우가 있는 것 같더군요.

뭐, 기본제공하는 ImageView에 없는 기능인 Touch Scroll/ Pinch to zoom 되게 하느라 좀 헤메서 결과물은 아무도 안 오는 블로그에라도 좀 올려놓으면 편할 듯 하네요.

아무런 설명 없이 달랑 클래스만 올려놓기는 그러니 조금 설명하자면...

일단 android.widget.ImageView 클래스를 상속받아 만든 클래스입니다. 당연히 ImageView의 속성들은 다 가지고 있고, 터치 이벤트 처리를 위해서 onTouchEvent 메서드가 오버라이드 되어 있습니다.

(사실 안드로이드 UI에서 터치이벤트를 가장 처음 받는 것은 그 view이기 때문에, view내에서 자체적으로 이벤트를 처리한다면 굳이 onTouchListener를 통해서 이벤트를 넘겨줄 필요가 없습니다)

대부분의 코드는

http://flysky.thoth.kr/?document_srl=4547416

이 주소에서 가져왔고, 디버그용 dumpEvent 메서드, onTouch 대신 onTouchEvent사용, 이미지 매트릭스 초기화 메서드 약간 수정(개선인지 개악인지는 모르겠지만...) 정도가 변경사항입니다.

사용법은 그냥 안드로이드 이미지 뷰 쓰듯이 쓰면 됩니다. 

사실 지금 쓰고 있는 건 안드로이드 프로젝트의 갤러리 부분 소스코드를 가져와서 약간 개량한 걸 사용중인데, 그것도 독자적으로 쓸만한 수준이 되면 공개해 보려고 합니다.아무래도 motionevent같은 걸 쓰는 게 좀 더 편할 듯 해서 말이지요. 2.2에서는 멀티터치 이벤트 처리도 gesturedetector를 쓸 수 있으니 지금 구현하기 좀 귀찮은 멀티터치 이벤트들도 쉽게 처리할 수 있겠지요.

+ Recent posts