Android Market/Google Music似乎能够在ViewPager
中包含的不同片段之间存在某种差距。Android ViewPager填充/页片段之间的边距
任何想法如何完成?将边距/填充添加到实际的片段视图不起作用,因为视图仍然需要占据屏幕的整个宽度。只有滑动ViewPager时才能看到'间隙'。
Android Market/Google Music似乎能够在ViewPager
中包含的不同片段之间存在某种差距。Android ViewPager填充/页片段之间的边距
任何想法如何完成?将边距/填充添加到实际的片段视图不起作用,因为视图仍然需要占据屏幕的整个宽度。只有滑动ViewPager时才能看到'间隙'。
在Support Package, r4您可以使用这些方法:
setPageMargin(int marginPixels)
setPageMarginDrawable(Drawable)
setPageMarginDrawable(int)
在ViewPager类。
我不知道为什么,这并不在XML相当于:-(
如果需要使用浸单元,你可以使用这个方法:
public static int convertDip2Pixels(Context context, int dip) {
return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, context.getResources().getDisplayMetrics());
}
pager.setClipToPadding(假); pager.setPadding(left,0,right,0); 如果您在viewpager中的两个页面之间需要空格,然后添加 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));
}
尝试此
viewPager.setClipToPadding(false);
viewPager.setOffscreenPageLimit(2);
viewPager.setPadding(20, 0, 20, 0);
用于DP到像素转换,我更喜欢吸尘器Context.getResources()。getDimensionPixelOffset(INT dimenId)方法。 – greg7gkb
执行Context.getResources()。getDimensionPixelOffset(int dimenId)时未找到资源。 teh尺寸的ID是正确的,但它不起作用 – jonney
使用适配器引用而不是上下文 –