안드로이드 개발 질문/답변
(글 수 45,052)
현재 제작한건 서비스 형태라..
touch이벤트가 발생하면 드래그 하는 touch좌표의 입력은 들어오지만,,
서비스 단에서 0번째 좌표로 refresh()되는건 아니네요.
즉 데이터 자체가 0(내가 처음 터치한 부분),1,2,3,4,5,6,7...(마지막 터치한 부분) 마지막 인덱스(또는 중간 인덱스)까지 들어갑니다.
배열 자체가 드래그 하는 영역이 많아지면 기존의 배열이 충분하지 않다면 동적 할당하여 더욱 커지게 되는 형태입니다.
만일 충분한 공간이 있다면 기존의 배열 0번지 부터 시작해서 데이터를 저장하는 형태입니다.
이런 경우에 딱 2가지만 구하고싶은데,
처음 내가 클릭한 위치 그리고 드래그하고 뗀 위치 2좌표를 구하고 싶습니다.
그냥 어플리케이션 내부에서 구현한 경우
touch하여 drag하는 경우에도 이벤트가 항상 발생하여
down이냐 up이냐 따라 touch점을 구할수가 있었는데,
이와 같은 경우에는, windowmanager에 의해 관리되는 영역이라.. touch 이벤트는 드래그 하더라도 단 한번만 발생하며
발생시점에서 터치점 데이터는 event객체에 이미 들어가 있습니다..
근데 마지막 터치점의 위치를 가져오는 변수나 함수도 보이질 않아.. 질문 남기게 되었습니다...
답변 기다리겠습니다..




일단 View.OnTouchListener 를 이용해서 터치 시작점과 끝점을 가지고 올수 있습니다.
if(event.getAction() == MotionEvent.ACTION_DOWN) 이부분은 터치 시작이겠구요
if(event.getAction() == MotionEvent.ACTION_UP) 이부분은 터치 끝 부분이겠죠?
안드로이드 드래그 관련해서 구글링 하면 자세한 사이트 볼수 있을꺼에요