touch event 다루기
TRANSCRIPT
Touch Event 다루기
•onClick•onLongClick•onTouch
Touch Event
onClick 과 onLongClick 동시 처리 방법 1 – 각각의 리스너를 이용
onClick 메소드와 onLongClick 메소드에 차이점이 존재 ?!
LongClick 에는 리턴 값이 존재한다 .
LongClick 의 리턴값이False 일 때는 LongClick 이후의 이벤트 처리를 계속함True 일 때는 LongClick 이후의 이벤트 처리를 하지 않음
onClick 과 onLongClick 동시 처리 방법 1 – 각각의 리스너를 이용
onClick 과 onLongClick 동시 처리 방법 2 – onTouchListener 를 이용
매개변수로 들어오는 MotionEvent 객체를 통해 터치 이벤트를 처리한다 .
onClick 과 onLongClick 동시 처리 방법 2 – onTouchListener 를 이용
MotionEvent 에는 여러가지 Action 상수들이 있다 .그 중 대표적인 3 가지1. Action_Down - 해당 뷰가 눌렸을 때2. Action_Move - 눌린 상태에서 움직였을 때3. Action_Up – 손가락이 떨어졌을 때이들을 활용하여 여러가지 터치 이벤트를 처리할 수 있다 .
onTouch 를 이용한 이벤트 처리 – click 과 longClick 처리
앞서 해봤던 일반 클릭과 롱클릭을 onTouch 를 이용하여 처리해보자 .
Action_Down 이 호출 될 때 현재 시간을 저장하고Action_Up 이 호출 될 때 현재 시간을 저장하여두 시간의 차이를 이용하여 click 과 LongClick 을 구분한다 .
onTouch 를 이용한 이벤트 처리 – click 과 longClick 처리
Down 이 불렸을 때 시간을 저장
Up 이 불렸을 때 시간을 저장두 시간의 차이를 이용하여 롱클릭과 일반 클릭을 구분한다 .
onTouch 를 이용한 이벤트 처리 – click 과 longClick 처리
주 의 할 점시간을 저장하는 데 사용하는 변수는 onTouch 밖으로 빼놓는다 .
onTouch 를 이용한 이벤트 처리 – 스와이프 애니메이션 적용스와이프 (swipe) 란 ?
슬라이드라고 표현하기도 하며 손가락을 가로축으로 움직여서 특정 뷰나 버튼을 나타나게 하는 것을 말한다 .
onTouch 를 이용한 이벤트 처리 – 스와이프 애니메이션 적용
스와이프에 사용할 간단한 애니메이션 코드
onTouch 를 이용한 이벤트 처리 – 스와이프 애니메이션 적용스와이프를 처리하기 위해서는 손가락의 수평 좌표가 필요하다 .
Down 이 불렸을 때 X 위치를 저장Move 가 불렸을 때 X 위치를 저장