Есть ли способ проверить, прокручивает ли ViewPager в данный момент страницы?
Я комбинирую ViewPager с onTouch для одного и того же, так как должна быть возможность прокрутить ViewPager и щелкнуть по нему. Однако я не хочу, чтобы оба запускались, поэтому я ищу удобный способ дать OnTouch команду игнорировать MotionEvents, которая запускает прокрутку страницы. Я, конечно, могу измерить расстояние между ACTION_DOWN и ACTION_UP, но мне интересно, есть ли существующий метод, чтобы помочь мне.
1 ответ
Решение
Решение, которое я нашел, позволяет мне определить, выполняется ли прокрутка. scrollState имеет три значения, определенные в ViewPager: SCROLL_STATE_IDLE, SCROLL_STATE_DRAGGING и SCROLL_STATE_SETTLING. Теперь я могу проверить scrollState в методе onTouch и действовать соответственно.
@Override
public void onPageScrollStateChanged(int state) {
scrollState=state;
}