studio - Android ViewPager relleno/margen entre fragmentos de página
slide android studio (6)
En Support Package, r4 puede usar estos métodos:
setPageMargin(int marginPixels)
setPageMarginDrawable(Drawable)
setPageMarginDrawable(int)
en la clase ViewPager .
No sé por qué esto no tiene equivalente en XML :-(
Si necesita usar la unidad de inmersión, puede usar este método:
public static int convertDip2Pixels(Context context, int dip) {
return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, context.getResources().getDisplayMetrics());
}
Android Market / Google Music parece ser capaz de tener una brecha de algún tipo entre los diferentes fragmentos que están contenidos en ViewPager
.
¿Alguna idea de cómo se hace esto? Agregar margen / relleno a la vista de fragmento real no funciona, porque la vista todavía necesita ocupar todo el ancho de la pantalla. El ''espacio'' solo es visible al deslizar el ViewPager.
Esperando que esto pueda ayudar a alguien con un ViewPager y márgenes de página.
Quería tener un ViewPager es un CardView y tenía problemas con el relleno y el margen entre las páginas del visor. El setPageMargin no funcionó para mí en absoluto. Tuve que usar lo siguiente:
int pagerPadding = 16;
pager.setClipToPadding(false);
pager.setPadding(pagerPadding, 0, pagerPadding, 0);
Esto permite que las páginas estén muy juntas.
Prueba esto .
ViewPager viewPager = (ViewPager) findViewById(R.id.h_view_pager);
viewPager.setClipToPadding(false);
viewPager.setPadding(60, 0, 60, 0);
viewPager.setPageMargin(20);
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setOffscreenPageLimit(adapter.getCount());
viewPager.setAdapter(adapter);
Prueba esto
viewPager.setClipToPadding(false);
viewPager.setOffscreenPageLimit(2);
viewPager.setPadding(20, 0, 20, 0);
pager.setClipToPadding (falso); pager.setPadding (izquierda, 0, derecha, 0); Si necesita espacio entre dos páginas en el visor, agregue pager.setPageMargin (int);
viewPager.setPageMargin(dpToPx(10));
// replace 10 with the value you want for margin in dp.
public int dpToPx(int dp) {
DisplayMetrics displayMetrics = getActivity().getResources().getDisplayMetrics();
return Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
}