Android View Pager работает неправильно - PullRequest
5 голосов
/ 03 ноября 2011

Я обнаружил интересную ошибку в Android-пейджере (r4 из ACL).

Устройство отслеживания скорости будет неправильно отображать пейджер при слишком быстрой прокрутке пальца / с края.экрана на старых или медленных устройствах.

Я могу воспроизвести на оригинальной Galaxy Tab, HTC Desire, Nexus One, Сан-Франциско, HTC Hero.

Откройте Google +, Market или что-то ещес реализацией пейджера с довольно подстанционным представлением.

Если вы перейдете на крайнюю левую страницу, а затем осторожно проведите пальцем по правому краю экрана, вы можете заставить пейджер просмотра перескочить вправо (обратный путь к направлению перетаскивания) .

Мне нужно исследовать больше, но похоже, что трекер скорости не успевает за медленными устройствами,Это, конечно, может заставить пейджер прыгать вокруг при быстрой прокрутке слева направо.попробуйте на новом рынке (3.3+) перейти от одной стороны к другой и увидеть досадные результаты!

Любые идеи по исправлению, расширяющие класс. Я думаю, что экран может давать странные результаты, когдаМного происходит и, возможно, пропускает некоторые MotionEvents, так как я обнаружил, что почти невозможно воспроизвести на более новых устройствах.(Nexus S, Samsung GSII, Sensation).

РЕДАКТИРОВАТЬ: Эта проблема была решена с ACL v6

Спасибо, Крис

1 Ответ

5 голосов
/ 03 ноября 2011

Я думаю, что версия ViewPager, которая вышла с r4, имела некоторые проблемы, подобные этой, которые с тех пор были исправлены. Следующий релиз должен появиться в ближайшее время. Это поведение, которое мы, вероятно, со временем уточним в дополнение к предстоящим исправлениям.

Если вам любопытно и вы хотите отредактировать исходный код, включенный в пакет библиотеки поддержки, я считаю, что исправлением было начало передачи MotionEvents в VelocityTracker во время onInterceptTouchEvent из начального события down, а не только после того, как перехват произошел в onTouchEvent , Это дает VelocityTracker больше данных для работы. В качестве альтернативы вы можете поэкспериментировать с другими триггерами.

...