Android ver paginador: ¿cómo distinguir usuario y programado swipes?
Utilizo ViewPager.setCurrentItem()
para deslizar automáticamente a la página siguiente cada pocos segundos. Quisiera inhabilitar esto tan pronto como el usuario comience a golpear. Por lo que puedo decir, OnPageChangedListener
se activa de la misma manera si el golpe se produjo en el usuario o no. Parece como beginFakeDrag()
podría ayudar, pero requiere arrastrar por un número especificado de píxeles, que no es práctico.
¿Está familiarizado con SCROLL_STATE_DRAGGING ? Indica que el paginador está siendo arrastrado por el usuario.
Ejemplo
mPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int state) { if (state == ViewPager.SCROLL_STATE_DRAGGING) { // User has dragged } } });