Android: ViewPager и HorizontalScrollVIew - PullRequest
30 голосов
/ 03 августа 2011

У меня есть HorizontalScrollView внутри моего ViewPager.Я установил requestDisallowInterceptTouchEvent(true); для HorizontalScrollView, но ViewPager все еще иногда перехватывает события касания.Есть ли другая команда, которую я могу использовать для предотвращения перехвата событий касания родителями и предками View?

примечание: HorizontalScrollView занимает только половину экрана.

Ответы [ 11 ]

0 голосов
/ 21 мая 2014

после теста много решений, я нахожу это. в MyPagerView:

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (childId > 0) {
        View scroll = findViewById(childId);
        if (scroll != null && mGestureDetector.onTouchEvent(event)) {
            return false;
    }
}
return super.onTouchEvent(event);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    if (childId > 0) {
            HorizontalScrollView scroll = (HorizontalScrollView)findViewById(childId);
            if (scroll != null && mGestureDetector.onTouchEvent(event)) {
                return false;
            }
    }
    return super.onInterceptTouchEvent(event);
}
...