Как сдвинуть только половину фрагмента при использовании вертикального ViewPager - PullRequest
0 голосов
/ 03 мая 2019

Я искал вертикальный пейджер , затем я нашел этот ответ
он работает нормально, но теперь мне нужно скользить только половина фрагмента.

Я делал это раньше, используя горизонтальный viewpager с приведенным ниже решением

Переопределите метод getPageWidth в PagerAdapter и сделайте так, чтобы он возвращал 0.5f;

но потому что я использую вертикальный viewpager вместо горизонтальный viewpager , а FragmentPagerAdapter не имеет метода переопределения для возврата height

Есть ли какое-нибудь решение для этого?
some thing I'm trying to do

1 Ответ

0 голосов
/ 03 мая 2019

просто замените 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);
        }
    }
}

отлично работает;)

...