모바일 프로그래밍/안드로이드
안드로이드 간단히 View 움직이게 하기 (Drag and Drop)
창굴이
2019. 4. 12. 18:33
View에 Touch 이벤트로 움직이는 모션을 구현하고자 할 때
var moveX = 0f
var moveY = 0f
move_view.setOnTouchListener { v, event ->
when(event.action) {
MotionEvent.ACTION_DOWN -> {
moveX = v.x - event.rawX
moveY = v.y - event.rawY
}
MotionEvent.ACTION_MOVE -> {
v.animate()
.x(event.rawX + moveX)
.y(event.rawY + moveY)
.setDuration(0)
.start()
}
}
true
}
움직이고자 하는 View에 setOnTouchListener에 위와 같은 리스너를 구현한다.
ACTION_DOWN 이벤트가 발생했을 경우 View의 위치를 저장하고
ACTION_MOVE 이벤트가 발생했을 경우 View의 위치를 저장한 변수를 이용하여 이동하는 애니메이션을 구현