Android Market/Google Music 似乎能够在ViewPager
.
知道这是怎么做到的吗?向实际的片段视图添加边距/填充不起作用,因为视图仍然需要占据屏幕的整个宽度。“间隙”仅在滑动 ViewPager 时可见。
Android Market/Google Music 似乎能够在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());
}
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 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);
pager.setClipToPadding(false); pager.setPadding(left,0,right,0); 如果您需要 viewpager 中两个页面之间的空间,请添加 pager.setPageMargin(int);
尝试这个
viewPager.setClipToPadding(false);
viewPager.setOffscreenPageLimit(2);
viewPager.setPadding(20, 0, 20, 0);
这是一个示例解决方案:
ViewPager.OnPageChangeListener
在您使用的活动或片段中实现ViewPager
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
int tabStripChildCount = mTabStrip.getChildCount();
for (int i=0 ; i < tabStripChildCount ; i++){
View view = mTabStrip.getChildAt(i);
ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
p.setMargins(0, 0, 50, 0);
view.requestLayout();
}
}
mTabStrip 是您的活动或片段中的表格布局
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mSectionsPagerAdapter = new SectionsPagerAdapter(getChildFragmentManager());
View view = inflater.inflate(R.layout.patient_activity__fragment_tab_viewer, container, false);
mViewPager = (ViewPager) view.findViewById(R.id.viewPager);
mViewPager.setAdapter(mSectionsPagerAdapter);
mTabStrip = (SlidingTabLayout) view.findViewById(R.id.tabs);
mTabStrip.setViewPager(mViewPager);
return view;
}
最后,您的标题片段之间将有一个边距