안드로이드 개발 질문/답변
(글 수 40,700)
안녕하세요.
이미지뷰를 AbsoluteLayout 으로 화면에 뿌린다음 터치리스너로 그 뷰를 드레그엔드랍했을때
움직이려고 합니다.
getLayoutParams()로 그 뷰의 레이아웃 파라미터를 받아온 다음 터치이벤트 ACTION_MOVE일때마다 좌표값을 lp.x, lp.y에 넣은다음 setLayoutParams(lp); 로 화면을 뿌려주려하는데...
움직일 때~ 다시 그 전 좌표로 돌아가려고 해서 왔다갔다 하는 현상이 나타납니다.
아무리 코드를 봐도... 모르겠어서 이렇게 질문을 남깁니다.
너무 두서없는... 질문이라 ..죄송합니다. 답답해서...ㅠㅠ
그럼... 이만...
이미지뷰를 AbsoluteLayout 으로 화면에 뿌린다음 터치리스너로 그 뷰를 드레그엔드랍했을때
움직이려고 합니다.
getLayoutParams()로 그 뷰의 레이아웃 파라미터를 받아온 다음 터치이벤트 ACTION_MOVE일때마다 좌표값을 lp.x, lp.y에 넣은다음 setLayoutParams(lp); 로 화면을 뿌려주려하는데...
움직일 때~ 다시 그 전 좌표로 돌아가려고 해서 왔다갔다 하는 현상이 나타납니다.
아무리 코드를 봐도... 모르겠어서 이렇게 질문을 남깁니다.
너무 두서없는... 질문이라 ..죄송합니다. 답답해서...ㅠㅠ
그럼... 이만...
1. Click이 되는 View의 onTouchListener에서 해당 뷰의 LayoutParam을 변경하였다.
2. 좌표값은 MotionEvent의 getX()와 getY()를 이용하였다.
위와 같이 하셨으면 말씀하신 현상이 일어납니다.
Log를 찍으면 계속 좌표가 튀는 현상을 보실수 있을거에요. MotionEvent에서 얻어지는 좌표는 해당 View에서 보는 상대좌표라고 생각하시면 됩니다. 해결방법은? View.getLeft() + MotionEvent.getX()를 LayoutParam에 넣어준다 입니다.
답변확인하시면 http://www.mobileplace.co.kr/devgroup으로 옮기겠습니다.