안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
view를 상속받아 onDraw()를 구현했습니다.
view안에 여러개의 bitmap들이 있는데요.
터치로 해당 bitmap을 선택하여 move하려고 합니다.
bitmap이 회전없이 그대로 그려질경우 bitmap의 x, y, width, height를 가지고 터치포인트와 비교를 하면 되는데요.
문제는 bitmap이 회전을 했을때 입니다.
이럴경우 x, y, width, height를 알아도 bitmap의 이미지 영역을 알 수가 없습니다.
이럴경우 어떻게 해야 될지....
조언 부탁드립니다.
추가 질문으로
위와 같은 경우에 bitmap에 테두리는 어떻게 그릴 수 있을까요?
약간의 힌트라도 부탁드립니다.

give & take
2011.04.05 22:27:26
view 안에 여러개의 bitmap 을 반듯이 사용해야 하나요?
그냥 viewgroup 에 view 여러개를 담아서 사용하면 이벤트 핸들링이 용이하고 겹쳐져 있어도 편하게 컨트롤 할 수 있을거 같은대요..
2011.04.06 11:40:19
아즈라엘님 답변 감사합니다.
말씀하신 내용은 bitmap 하나하나 imageview를 하여 viewgroup에 넣어서 사용을 하는것을 말씀 하신 것 같은데 맞나요?
말씀하신 내용이 저와 맞는지는 잘은 모르겠습니다.
다만 제가 하려는 것은 bitmap을 touch로 move, zoon in/out, rotate을 하기 위해서 입니다.
아직 경험이 미천하여 개발전에 가장좋은 방법을 먼저 선택하는게 힘들어 전체 수정까지 하면서 개발을 하고 있습니다.
2011.04.14 10:36:13
말씀하신 내용은 결국 "해당 비트맵에 대한 리스너를 만들 수 있는가?" 맞나요?
비트맵은 현재로서 제가 알기로는 안되네요..
각 비트맵을 컨트롤 하시려면 반복문을 돌리든 뭘 하든 개별적으로 생성하셔서 좌표 값을 통해 컨트롤 하셔야할 거에요
예를 들어 1,2,3,4의 비트맵이 화면 어딘가에 있을 때, 사용자가 터치한 좌표 값을 읽어와서
각 비트맵들의 좌표와 비교를 합니다.
그리고 처음으로 해당 좌표와 일치한 비트맵에 발생시킬 이벤트를 핸들링합니다.
리스너가 달리면 좋겠지만 비트맵은 레퍼런스에 나와있듯이 저수준 그래픽 도구를 지원하는 android.graphics 계열입니다..
공식 사이트에서 말하는 저수준(low-level)은 화면에 직접 그려진다 정도로 나와있네요..
http://developer.android.com/reference/android/graphics/package-summary.html - android.graphics
http://developer.android.com/reference/android/graphics/Bitmap.html - android.graphics.Bitmap



