안드로이드 개발 질문/답변
(글 수 45,052)
View 에서 canvas 를이용해서 비트맵이미지를 그려넣고
그비트맵이미지를 선택해서 드래그할수있도록하려면 어떻게하면될까요?
2012.06.25 10:05:10
onTouchListener에서
motion의 action은
onDown
onMove
onPause
있습니다.
이미지뷰에 보여질 상태의 Matrix1를 만들고
onDown시에 그 매트릭스를 딮카피해서 임시로 저장합니다.(Matrix2) new Matrix(Matrix m) 생성자로 생성하면 딮카피입니다.
터치시작점도 저장해 둡니다.
onMove시에 터치 시작점과 현재 이동된 거리를 계산해서 임시로 저장한 매트릭스(2)를 이용해서 Matrix(1)를 딮카피로 덮어씌웁니다.
계산된 거리를 postTranslate합니다.
움직이고 있는동안 계속 호출되는데 계속 임시저장된 매트릭스와 계산된 값으로 Matrix1을 딮카피 합니다.
motion의 action 분기점 밖에서 Matrix1의 값에서 수정이 필요한 값은 getValues로 수정합니다.
(예를 들면 화면에서 벗어나면 안된다던지... 이미지의 edge에 걸리면 더이상 이동 안되게 한다던지)
수정된 매트릭스(3)을 해당 이미지 뷰에 set합니다.
끗




onTouchEvent 인가 리스너를 구현하셔서
터치 좌표를 받으시고
터치 좌표를 그리는 좌표로 정하시면 되요