我已经实施了一个"页面偷看"我的ViewPager功能:
mPager.setClipToPadding(false);
mPager.setPadding(120, 0, 120, 0);
mPager.setPageMargin(60);
这样做我可以查看上一页和下一页的一部分。但是第一页和最后一页显示了更大的空白区域,因为没有其他页面可以显示。
如何为第一页和最后一页设置不同的填充?
答案 0 :(得分:10)
我必须解决同样的问题,我通过设置自定义PageTransformer
解决了这个问题。我在第一个和最后一个位置时实际上对页面进行了翻译。如果这对您有用,请告诉我。
mPager.setClipToPadding(false);
mPager.setPadding(120, 0, 120, 0);
mPager.setPageMargin(60);
mPager.setPageTransformer(false, new ViewPager.PageTransformer() {
@Override public void transformPage(View page, float position) {
if (mPager.getCurrentItem() == 0) {
page.setTranslationX(-120);
} else if (mPager.getCurrentItem() == adapter.getCount() - 1) {
page.setTranslationX(120);
} else {
page.setTranslationX(0);
}
}
});