Установить OnTouchListener для внутреннего просмотра. В методе onTouch()
вызов:
viewPager.requestDisallowInterceptTouchEvent(true)
ViewPager обрабатывает свое движение смахивания в onInterceptTouchEvent()
. Приведенный выше код запрещает ViewPager вызывать onInterceptTouchEvent()
. Когда вы проводите пальцем, ViewPager возвращает true в onInterceptTouchEvent()
, что также предотвращает передачу сенсорных событий в дочерние представления. Поэтому запрещение перехвата позволяет дочерним представлениям обрабатывать события касания.
Установите значение false
, когда к внутреннему виду не прикасаются.
Исходя из моего опыта, onInterceptTouchEvent()
предотвращает onTouchEvent()
. Это не мешает OnTouchListener
. Таким образом, ключом здесь является установка OnTouchListener
для внутреннего вида.