Android Market / Google Music, похоже, могут иметь некоторый пробел между различными фрагментами, содержащимися в ViewPager
.
Любая идея, как это делается? Добавление поля / заполнения в фактический вид фрагмента не работает, потому что представление все равно должно занимать всю ширину экрана. «Разрыв» отображается только при просмотре ViewPager.
В пакете поддержки r4 вы можете использовать следующие методы:
setPageMargin(int marginPixels) setPageMarginDrawable(Drawable) setPageMarginDrawable(int)
В классе ViewPager .
Я не знаю, почему это не имеет эквивалента в XML 🙁
Если вам нужно использовать dip-модуль, вы можете использовать этот метод:
public static int convertDip2Pixels(Context context, int dip) { return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, context.getResources().getDisplayMetrics()); }
Надеясь, что это может помочь кому-то с ViewPager и полями страниц.
Я хотел, чтобы ViewPager был CardView и имел проблемы с заполнением и полями между страницами viewpager. SetPageMargin не работал для меня вообще. Мне пришлось использовать следующее:
int pagerPadding = 16; pager.setClipToPadding(false); pager.setPadding(pagerPadding, 0, pagerPadding, 0);
Это позволяет страницам быть очень близко друг к другу.
pager.setClipToPadding (ложь); pager.setPadding (слева, 0, вправо, 0); Если вам нужно пространство между двумя страницами в представлении, добавьте pager.setPageMargin (int);
Попробуй это .
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);
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)); }