ViewPager左右预览

时间:2018-02-26 15:13:39

标签: android android-viewpager

我需要设置一个符合以下要求的ViewPager: - 在任何给定时间,屏幕上必须显示3个页面 - 中心页面未缩放,后面页面占中心页面的60%; - 中心页面,必须与后面的页面重叠。

从我在其他问题中看到的,我试图这样做:

    viewPager.setClipToPadding(false);
    int padding = (metrics.widthPixels - centerViewSize) / 2;
    viewPager.setPadding(padding, 0, padding, 0);
    viewPager.setPageMargin(-(padding / 2));
    viewPager.setCurrentItem(10);
    viewPager.setOffscreenPageLimit(3);

这样做让我来到这里:

enter image description here

这就是我所期待的。只需要将当前所选项目带到前面。

然后我尝试使用以下方式缩放视图:

public static final float SCALED_SIZE = 0.6f;
    viewPager.setPageTransformer(false, new PageTransformer() {
        @Override
        public void transformPage(final View page, final float position) {
            if (position < -1) {
                page.setScaleX(SCALED_SIZE);
                page.setScaleY(SCALED_SIZE);
            } else if (position <= 1) {
                float scaleFactor = Math.max(SCALED_SIZE, 1 - Math.abs(position));
                page.setScaleX(scaleFactor);
                page.setScaleY(scaleFactor);
            } else {
                page.setScaleX(SCALED_SIZE);
                page.setScaleY(SCALED_SIZE);
            }
    }});

但这给了我一些问题。

  1. 应该选择的第一个项目不正确。
  2. 动画chopy。
  3. 在某些时候,屏幕上有超过3页。
  4. 比例从底部开始,我想从中心开始。
  5. enter image description here

    知道如何解决我的问题吗?

1 个答案:

答案 0 :(得分:0)

使用资料库UltraViewPager。它有非常好的效果。