ViewPager:为第一页和最后一页设置不同的填充

Ale*_*dro 8 android margin padding android-viewpager

我已经为我的ViewPager实现了"页面查看"功能:

mPager.setClipToPadding(false);
mPager.setPadding(120, 0, 120, 0);
mPager.setPageMargin(60);
Run Code Online (Sandbox Code Playgroud)

这样做我能够查看上一页和下一页的一部分.但是第一页和最后一页显示了更大的空白区域,因为在这个方向上没有其他页面可以显示.

如何为第一页和最后一页设置不同的填充?

tih*_*mir 13

我必须解决同样的问题,我通过设置自定义解决了它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);
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)