У меня есть виджет ViewPager в каждой строке ListView. Это обеспечивает подобный полке пользовательский интерфейс, так что пользователь может прокручивать в поисках полки по вертикали, а затем прокручивать по горизонтали среди содержимого полки. Это работает.
Но процесс прокрутки ужасен: если я начну перетаскивать ViewPager на полке, прокручивать его горизонтально и случайно перетаскивать немного вверх / вниз, то ListView «захватывает» это действие перетаскивания и начинает прокручивать вертикально, заканчивая мой горизонтальное сопротивление В этом состоянии действие перетаскивания не «вернется» в ViewPager, оно есть у ListView, и все. Я должен начать другое действие перетаскивания, чтобы снова воздействовать на ViewPager. Поэтому я думаю, что ListView имеет приоритет в этих случаях.
Как это можно исправить? Я хотел бы добиться прямо противоположного: если ViewPager внутри строки списка начинает реагировать на горизонтальное перетаскивание, то оно должно перехватить это действие, и это перетаскивание должно перестать влиять на ListView, независимо от того, как пользователь перемещает свой палец вертикально. Можно ли это сделать?