2011-03-09 2 views
10

화면에서 손가락 터치를 추적하고 싶습니다. 그래서 내가 한 일은 MotionEventACTION_DOWN을 트리거 할 때 위치 기록을 시작하는 것이지만 동작이 완료되면 ACTION_CANCEL 또는 ACTION_UP에 어떻게 알 수 있습니까?MotionEvent의 ACTION_CANCEL과 ACTION_UP의 차이점은 무엇입니까?

그들 사이의 정확한 차이점은 무엇입니까?

답변

17

MotionEvent:

  • ACTION_UP : 한 누르면 제스처 완료, 모션은 최종 릴리스 위치뿐만 아니라 마지막으로 아래부터 중간 점 또는 이동 이벤트가 포함되어 있습니다.

  • ACTION_CANCEL : 현재 제스처가 중단되었습니다. 사용자가 대신 당신이 그것의 내부의 버튼을 눌러 댄다 스크롤 시작하는 목록보기를 통해 충분히 끌 때 부모가 예를 들어, 운동의 소지를 취한다 때

ACTION_CANCEL가 발생합니다. 자세한 내용은 뷰 그룹 설명서 onInterceptTouchEvent에서 확인할 수 있습니다.

그래서 액션이 부모에서 드래그 될 때 ACTION_CANCEL을 사용하고 그렇지 않으면 ACTION_UP을 사용합니다.