Класс ViewGroup
имеет метод с именем onInterceptTouchEvent(ev: MotionEvent)
, который возвращает значение Boolean
.Если вы хотите, чтобы ваш вид «украл» сенсорное событие, вы должны вернуть true и false в противном случае.
Например, если вы хотите, чтобы ваше представление рециркулятора прокручивалось только вертикально, вы должны переопределить onInterceptTouchEvent(ev: MotionEvent)
в вашем ViewPager
Класс и определить тип прокрутки.
Это будет выглядеть так:
class MyViewPager {
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean =
!isVerticalScroll()
}
Метод isVerticalScroll()
должен быть создан вами и вернуть текущее направление прокрутки.
Итаккогда вы проведете пальцем по горизонтали, вы попадете к следующему фрагменту.В то же время ваш вид переработчика будет прокручиваться вертикально, и никаких конфликтов не возникнет.