Android ViewPager – Mostrar la vista previa de la página a la izquierda ya la derecha

Estoy usando el ViewPager de Android. Lo que quiero hacer es mostrar una vista previa de la página tanto a la izquierda como a la derecha. He visto donde puedo usar un pageMargin negativo para mostrar una vista previa del lado derecho.

 setPageMargin(-100); 

¿Hay de todos modos que puedo mostrar una vista previa de la parte izquierda también? Es básicamente algo similar al widget de la galería que estoy buscando.

Para mostrar la vista previa de las páginas izquierda y derecha, establezca los dos valores siguientes

  1. viewpager.setClipToPadding(false);
  2. viewpager.setPadding(left,0,right,0);

Si necesita espacio entre dos páginas en el viewpager, añada

 viewpager.setPageMargin(int); 

La respuesta de @JijuInduchoodan es perfecta y de trabajo. Sin embargo, como soy relativamente nuevo en Android, me tomó un tiempo entenderlo y configurarlo correctamente. Por lo tanto, estoy publicando esta respuesta para referencia futura y ayudar a cualquier persona que está en los mismos zapatos que yo.

 if (viewPager == null) { // Initializing view pager viewPager = (ViewPager) findViewById(R.id.vpLookBook); // Disable clip to padding viewPager.setClipToPadding(false); // set padding manually, the more you set the padding the more you see of prev & next page viewPager.setPadding(40, 0, 40, 0); // sets a margin b/w individual pages to ensure that there is a gap b/w them viewPager.setPageMargin(20); } 

No es necesario establecer ningún ancho en la página ViewPager's en el adaptador. No hay ningún código adicional necesario para ver la página anterior y siguiente en ViewPager . Sin embargo, si desea agregar espacio en blanco en la parte superior e inferior de cada página, puede establecer el siguiente código en ViewPager's página principal de ViewPager.

 android:paddingTop="20dp" android:paddingBottom="20dp" 

Final ViewPager

Este será el aspecto final del ViewPager.

En 2017, este comportamiento además se puede lograr fácilmente usando RecyclerView con PagerSnapHelper (agregado en la versión 25.1.0 de la biblioteca de soporte v7): 

Introduzca aquí la descripción de la imagen

Hace algún tiempo yo necesitaba tal característica de viewpager-como y preparó una biblioteca minúscula:

MetalRecyclerPagerView – usted puede encontrar todo el código junto con ejemplos allí.

Principalmente se compone de un único archivo de clase: MetalRecyclerViewPager.java (y dos xmls: attrs.xml e ids.xml ).

Espero que ayude a alguien y ahorrará algunas horas 🙂

Utilice este adaptador de fragmentos y la clase para ver el viewpager en scroll.add izquierda y derecha las clases necesarias para desplazarse para ver las páginas siguientes.

 package com.rmn.viewpager; import java.util.List; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; /** * The <code>PagerAdapter</code> serves the fragments when paging. * @author mwho */ public class PagerAdapter extends FragmentPagerAdapter { private List<Fragment> fragments; /** * @param fm * @param fragments */ public PagerAdapter(FragmentManager fm, List<Fragment> fragments) { super(fm); this.fragments = fragments; } /* (non-Javadoc) * @see android.support.v4.app.FragmentPagerAdapter#getItem(int) */ @Override public Fragment getItem(int position) { return this.fragments.get(position); } /* (non-Javadoc) * @see android.support.v4.view.PagerAdapter#getCount() */ @Override public int getCount() { return this.fragments.size(); } } package com.manishkpr.viewpager; import android.content.Context; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; public class ViewPagerAdapter extends FragmentPagerAdapter { private Context _context; public ViewPagerAdapter(Context context, FragmentManager fm) { super(fm); _context=context; } @Override public Fragment getItem(int position) { Fragment f = new Fragment(); switch(position){ case 0: f=LayoutOne.newInstance(_context); break; case 1: f=LayoutTwo.newInstance(_context); break; } return f; } @Override public int getCount() { return 2; } } 
  • Android ViewPager: fragmentos superpuestos cuando el ancho de página se establece en 90%
  • ViewPager con indicador sin la biblioteca de soporte de Android
  • Cómo reiniciar la imagen ampliada en la imagen original
  • Viewpager no funciona correctamente en lollipop 5.0 cuando uso otros fragmentos
  • Deshabilitar animación suave al hacer clic en las pestañas con ViewPagerIndicator
  • Crear un ViewPager infinito desplazándose en una dirección
  • Cómo determinar cuándo Fragmento se vuelve visible en ViewPager
  • El botón onClick no funciona
  • El desplazamiento suave no funciona en ViewPager (biblioteca de soporte)
  • Cómo obtener la posición actual en FragmentPagerAdapter?
  • ¿Por qué ViewPager genera errores en el modo de diseño de Android Studio?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.