제스처를 이용해서 페이지 넘기기(View Flip)을 구현했습니다.
헌데 넘어가는 View안에 TextView에 setOnClickListener를 했더니
TextView 위치에서는 제스처가 안 먹더군요.
당연하다면 당연한 결과긴 한데 -_-;;
제스처와 클릭 두가지 모두 만족시키는 방법이 없을까요?
제스처나 터치이벤트 하나로만 구현하면 single tap 그러니까 어느 TextView를 클릭했는가를
판단하기가 매우 힘들어 보여서 고민입니다.
조언 부탁드립니다 (__)
저도 이부분에서 좀 애먹었던 기억이 좀 나네요..ㅋ;;
제스쳐라는건 터치의 파생된 이벤트 이기 때문에 터치 이벤트를 줘야 합니다.
물론 이벤트 두개를 동시에 처리가능하지요. 예를 들면 바탕화면 보면 아이콘이 클릭도 되고 스와이프로 이동도 되니까.
어쨋든, 제스쳐를 터치 이벤트로 등록하시고 해당 터치 이벤트와 클릭 이벤트를 같이 등록해주시면 될겁니다.
일단 제스쳐 이벤트를 터치에 등록해주시고...
private View.OnTouchListener menuTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if (m_gestureMenu.onTouchEvent(event))
{
return true;
}
return false;
}
};
버튼이라고 하셨으니까 해당 버튼에 OnTouchListener, OnClickListener 두개 다 등록해주시면 됩니다.
참고로 터치가 클릭보다 우선순위가 높습니다.