Я пытаюсь реализовать поведение, похожее на ViewPager, для горизонтального RecyclerView
. Данные от адаптера должны раздуваться и связываться как обычно, но переключение через Recycler
должно выполняться по-разному. Когда пользователь совершает прокрутку (или пытается выполнить прокрутку), я перемещаю Recycler
один предмет в этом направлении, придерживая его влево.Пейджер-подобное поведение в RecyclerView
У меня уже есть все элементы логики перехода. Я использую пользовательский LayoutManager
, который переопределяет onSmoothScrollToPosition()
с пользовательским LinearSmoothScroller()
, который делает элемент слева.
Вопрос в том, как я могу переопределить поведение прокрутки RecyclerView
, чтобы перехватывать удары и обрабатывать их самостоятельно? Я попытался отключить прокрутку в LayoutManager
, а затем перехватил жест в onTouchListener
, но это, похоже, не работает. У рамки RecyclerView
есть чистый способ справиться с этим?
Я думаю, перехватывая жест в 'onTouchListener' уже должен сделать трюк. Что не работает над этим решением? – EpicPandaForce
Ну, по какой-то причине он ничего не перехватывает. Я предполагаю, что это может быть вызвано тем, что горизонтальный Recycler находится на странице большего пейджера (фрагмент пейджера для разделов приложения), и он просто передает жест в верхний пейджер :( – Kelevandos
@EpicPandaForce Мне удалось получить его чтобы работать, оказывается, мне пришлось реализовать onScroll() в SimpleGestureListener, а не только onFling(). Однако есть и проблема с этим - метод onScroll() будет запускаться несколько раз, в результате чего Recycler проходит через все элементы сразу обрабатываются? – Kelevandos