如何在使用垂直ViewPager时仅滑动一半片段

时间:2019-05-03 12:44:19

标签: android android-fragments android-viewpager

我一直在寻找垂直浏览器,然后发现this answer
它工作正常,但是现在我只需要滑动片段的一半

我以前使用水平Viewpager 和以下解决方案

  

重写PagerAdapter的getPageWidth方法,并使其返回0.5f;

但是由于我使用的是垂直浏览器,而不是水平浏览器,并且FragmentPagerAdapter没有任何覆盖方法来返回高度

有什么可行的解决方案吗?
some thing I'm trying to do

1 个答案:

答案 0 :(得分:0)

只需将此源替换VerticalPageTransformer

private class VerticalPageTransformer implements ViewPager.PageTransformer {

    @Override
    public void transformPage(View view, float position) {

        if (position < -1) {
            view.setAlpha(0);

        } else if (position <= 1) {
            view.setAlpha(1);
            view.setTranslationX(view.getWidth() * -position);
            float yPosition = position * (float)(view.getHeight() / 2.5);
            view.setTranslationY(yPosition);

        } else {
            view.setAlpha(0);
        }
    }
}

它运行完美;)