적절한 방법이 onInterceptTouchEvent에서 진정한 반환하여 당신이 차단하려는 경우에만 이벤트를 가로 챌 아마 이벤트를 볼 수있는 뷰 그룹을이 ViewGroup.onInterceptTouchEvent(MotionEvent)
.This을 허용 사용해보십시오 .
어두운면을 가지고 가고 싶다면 더러운 대안이 있습니다. 아마 당신을 유혹 할 것이며 아마도 나중에 후회할 것입니다. 모든 이벤트를 차단 한 다음 필요한 경우 전달하십시오.
당신이의 이벤트를 처리 할 뷰 페이저 티엔
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return true;
}
이 당신의 viewpager 내부
public void interceptTouch(MotionEvent ev) {
// here you react to the event
}
같은 터치 이벤트를 처리
public boolean canInterceptTouch(MotionEvent ev) {
// return true if you are interested in this touch event, e.g. it falls into
// a clickable area
}
뭔가처럼보기 뭔가 내부에있다 더러운 이런 식으로 :
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (yourView.canInterceptTouch(ev))) {
yourView.interceptTouch(ev);
return true;
} else {
return doSomethingElse();
}
}
참고 : 모션 이벤트를 처리하는 데 매우 간단한 로직을 사용하지 않으면 괜찮은 결과와 함께 비슷한 것을 했음에도 불구하고 솔루션으로 권장하지 않습니다. 그렇지 않으면 모션이 엉망이됩니다. 당신이 미래를 제대로하기 위해 시간을 보내면 미래의 자아가 더 행복해질 것입니다.
EDIT : 코드가 테스트되지 않았으므로 필요한 항목을 알 수 있습니다. 모든 오타를 유감스럽게 생각합니다.
질문에서 언급했듯이, 나는 그것을 할 수 없습니다. 하지만 시간을내어 주셔서 감사합니다 : – MikeWallaceDev
인터페이스를 사용하여 시도하고 구현하십시오. – Panther