ViewPager dentro de Fragmento con márgenes y el transformador de página no se representa correctamente

Tengo un viewpager con los fragmentos dentro de él.

Yo uso el código similar a eg

Margen de ViewPager en transformaciones de PageTransformer

Y el relleno para que pueda ver el borde de los fragmentos de cualquier lado del fragmento que está viendo actualmente.

Pero el problema es cuando se inicia el viewpager, los fragmentos a ambos lados no se desvanecieron y se alejaron.

Es decir, el método de transformPage de mi ZoomOutPageTransformer no se llama hasta que empiece a pasar, por lo que la inicial off-page derecha / izquierda o dondequiera que las vistas parezcan incorrectas, y luego "saltar" a mirar a la derecha una vez que se hace un golpe.

Cualquier idea de cómo puedo hacer que se haga correctamente, por ejemplo, si llamo

MyViewPager.setCurrentItem (1) – o cualquier cosa, las páginas a los lados se alejarán apropiadamente.

¿Cómo puedo obtener el viewpager para renderizar correctamente concrecreate con el transformador de zoomoutpaget aplicado a los fragmentos 'off screen'?

4 Solutions collect form web for “ViewPager dentro de Fragmento con márgenes y el transformador de página no se representa correctamente”

Básicamente el método transformPage () de PageTransformer devuelve la posición incorrecta al jugar con relleno y margen en el paginador de vista. Parece ser un error de marco como se indica aquí . La solución explicada allí no funcionaba para mí.

Así que vine con otra solución, fingiendo un arrastre en el paginador de vista tan pronto como poner datos en su adaptador asociado.

private void invalidatePageTransformer(final ViewPager pager) { new Handler().post(new Runnable() { @Override public void run() { //no need to invalidate if we have no adapter or no items if (pager.getAdapter() != null && pager.getAdapter().getCount() > 0) { //import check here, only fakeDrag if "beginFakeDrag()" returns true if (pager.beginFakeDrag()) { pager.fakeDragBy(0f); pager.endFakeDrag(); } } } }); } 

Sé que soy demasiado tarde para responder, pero me enfrenté al mismo problema y no encontré ninguna respuesta a esto. Así que para cualquier persona que enfrenta el mismo problema, aquí es algo:

Así que básicamente el transformador de página no recibe correctamente el siguiente elemento cuando se carga la primera vez, aunque funciona bien cuando se desplaza por primera vez.

Así que escribí unas pocas líneas para desplazar la página un poco y recuperarla, lo que nos da la vista necesaria:

  viewPager.scrollBy(5,0); viewPager.scrollBy(-5,0); 

He tenido un problema similar y lo solucioné agregando:

 // ... your ViewPager setup code here myViewPager.setPageMargin(1); 

He intentado ajustar el relleno de ViewPager entonces encontré 45dp dejará el artículo que dentro de ViewPager que rasga correctamente.

 <android.support.v4.view.ViewPager ... android:paddingTop="45dp" ... /> 
  • Barra de Acción Sherlock SearchView no se expande al hacer clic
  • PreferenceFragment crashing, objeto nulo Referencia
  • Manejo del cambio de orientación con ViewPager + FragmentPagerAdapter
  • La etiqueta de meta-datos no tiene valor correcto
  • GetFragmentManager con API8
  • MapView en Fragmento (Android 4.0 o superior)
  • ¿Cuándo se debe llamar a RemoveStickyEvent (...)?
  • Mapfragment findFragmentById siempre null
  • Reemplazar un fragmento / ficha en un Viewpager
  • ¿Cómo agregar otro fragmento en el fragmento existente?
  • Android - FragmentTabHost me da "No se conoce ninguna pestaña para la etiqueta null"
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.