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