2013-02-19 3 views
0

스크롤 할 수없는 ViewPager을 구현하고 싶습니다. 나는 onInterceptTouchEventonTouchEvent 기능을 오버라이드 (override) 할 필요가 People say :ViewPager에서 탭 제스처 만 전달하십시오.

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (this.enabled) { 
     return super.onTouchEvent(event); 
    } 

    return false; 
} 

@Override 
public boolean onInterceptTouchEvent(MotionEvent event) { 
    if (this.enabled) { 
     return super.onInterceptTouchEvent(event); 
    } 

    return false; 
} 

좋아, 내가 지금 슬쩍 수 없습니다. 그러나 나는 도둑이 필요하다! 둘 다 MotionEventsaction=ACTION_DOWN입니다. 그렇다면 어떻게 차이점을 구별하고이 경우에만 탭을 통과시킬 수 있습니까?

P. S. 도대체? iOS에서 하나의 확인 표시를 선택 취소하여 스크롤을 사용 중지 할 수 있습니다.

답변

0

대답은 스위프가 ACTION_DOWN으로 시작하고 ACTION_UP으로 끝나는 연속 터치 제스처라는 것입니다. 터치 만 허용 할 수 있습니다. action=ACTION_DOWN

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (this.enabled || event.getAction() == MotionEvent.ACTION_DOWN) { 
     return super.onTouchEvent(event); 
    } 

    return false; 
}