2
현재 터치 이벤트를 잡는 데 dispatchTouchEvent을 사용하고 있습니다. 클릭 및 "드래그"스타일 제스처를 구분하는 쉬운 방법이 있습니까?클릭 및 드래그 구분 dispatchTouchEvent
현재 터치 이벤트를 잡는 데 dispatchTouchEvent을 사용하고 있습니다. 클릭 및 "드래그"스타일 제스처를 구분하는 쉬운 방법이 있습니까?클릭 및 드래그 구분 dispatchTouchEvent
DispatchTouchEvent는 MotionEvent 매개 변수와 함께 호출됩니다. MotionEvent 내 getAction 메서드는 ACTION_DOWN, ACTION_MOVE, ACTION_UP 또는 ACTION_CANCEL을 반환 할 수 있습니다. 그런 다음 ACTION_DOWN 플래그 isClick을 설정하십시오. ACTION_MOVE가있는 경우는, isClick 플래그를 클리어합니다.
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
isClick = true;
break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
if (isClick) {
//TODO Click action
}
break;
case MotionEvent.ACTION_MOVE:
isClick = false;
break;
default:
break;
}
return true;
}
는 액션 이동 이벤트가 항상 해고의 얼마나 간단한 I 탭에 상관없이처럼 보인다. – JeffRegan
isClick을 false로 설정하기 전에 이동 임계 값을 도입 한 다른 답변을 확인하십시오. http://stackoverflow.com/a/16485989/1373248 – MSquare
어제 비슷한 해결책을 구현했습니다. 이 대답을 업데이트 할 수 있습니다. – JeffRegan