Implementación de ViewPager circular

Solución 1: especificando un número muy grande como el recuento real, pero los asigna al rango real del conjunto de datos / conjunto de páginas

ViewPager como una cola circular / envoltura

Problema: No funciona si hay menos de 4 elementos.


Solución-2 Añadir 2 elementos adicionales, es decir, el último elemento del primer y primer elemento en el último y onPageSelected, dependiendo de los valores de posición, establezca el elemento actual

Implementación de desplazamiento circular en PagerAdapter

Problema: Indicadores adicionales de buscapersonas y instancias de fragmentos adicionales.


Solución-3: Uso del onTouchListener en ViewPager

Implementación de desplazamiento circular en PagerAdapter

Problema: El primer MotionEvent siempre es nulo. ¿Se debe a la implementación onTouchListener de ViewPager?

¿Hay una solución adecuada para esto?

O incluso si la tercera solución funciona bien, sería genial.

One Solution collect form web for “Implementación de ViewPager circular”

Utilizo una combinación de la Solución 2 y la Solución 3, uso el oyente táctil del buscapersonas para mirar para los barridos y ver si necesito mostrar la copia de la primera o última página basada en la página actual

ejemplo:

mPager.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ dxInitial=event.getX(); // }else if(event.getAction() == MotionEvent.ACTION_MOVE){ // if(event.getX() - dxInitial > 50 && currentPage==1){ }else if(dxInitial - event.getX() > 50 && currentPage==5){ mPager.setCurrentItem(0,false); }else if(dxInitial - event.getX() > 50 && currentPage==6){ mPager.setCurrentItem(1,false); }else if(event.getX() - dxInitial > 50 && currentPage==0){ mPager.setCurrentItem(5,false); }else if(event.getX() - dxInitial > 100 && currentPage==6){ // mPager.setCurrentItem(1,false); } } return false; } }); 

usted tiene indicadores adicionales del paginador pero el usuario nunca debe verlos o notarlos, apenas fije smoothScroll a falso cuando usted cambia la página

  • Cómo hacer que PagerAdapter cargue todas las páginas
  • Reordenar páginas en FragmentStatePagerAdapter usando getItemPosition (objeto objeto)
  • ¿Cómo eliminar una pestaña con barra de acción, viewpager y múltiples fragmentos?
  • ¿Cómo escribir el método onClick en el viewpager?
  • Cómo acceder a las vistas desde el buscapersonas
  • ¿Cómo recargar / refrescar el fragmento que ya se ha mostrado una vez?
  • No se puede actualizar fragmentos de texto al cambiar las tarjetas
  • Obtención del error "La actividad Java.lang.IllegalStateException se ha destruido" al utilizar pestañas con ViewPager
  • La clase PagerAdapter se llama varias veces
  • Texto en PagerTabStrip no se muestra en la primera vista
  • Hacer ViewPager rápido con la resistencia más corta
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.