2013-05-30 4 views
0

ViewPager의 페이지로 ScrollViews가 있습니다. 해당 ViewPager에 대한 터치 이벤트를 완전히 비활성화하고 싶습니다. ViewPager 클래스에서 onTouchEvent를 재정의하면 가로 스크롤을 방지하고 자식 ScrollViews는 스크롤하지 않도록 관리합니다.Android의 ViewPager에서 ScrollView의 터치 이벤트를 사용하지 않습니다.

ViewPager와 그 안에있는 모든 ScrollView에 대해 터치 이벤트를 완전히 비활성화하려면 어떻게합니까?

이것은 나를위한 개념 증명 일뿐입니다. 다음 단계는 해당 ViewPager의 일부만 스크롤하는 것을 방지하는 것입니다.

답변

1

에있는 ScrollView의 onInterceptTouchEvent를 덮어 쓰기하거나 경우 소비 또는 무시 :.

"아이들에서 모션 이벤트를 도용하고는 onTouchEvent()를 통해이 뷰 그룹에 파견하는 경우는 true 반환을 현재의 목표는를 받게됩니다 ACTION_CANCEL 이벤트가 발생했으며 더 이상의 메시지는 여기에 전달되지 않습니다. "

+0

왜 부모 클래스 (내 ViewPager)에서 터치 이벤트를 가로 챌 수 없습니까? – mgamer

+2

나는 이것에 착각 한 것일 수도 있지만, 문서를 읽으면 나에게 처음에 아이가 제스처를 받았다가 그 아이가 부모에게 이벤트를 전달할지 말지를 결정할 것 같다. – ePeace

+0

http://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent(android.view.MotionEvent) – ePeace

관련 문제