Проведите ViewPager с анимацией на горизонтальной прокрутке RecyclerView - Android - PullRequest
0 голосов
/ 31 января 2019

Я разрабатываю приложение для Android, в котором у меня есть один ViewPager сверху и один горизонтальный RecyclerView ниже ViewPager.

Когда я прокручиваю RecyclerView, я обновляю ViewPager пункт с viewPager.setCurrentItem(position).Так что ViewPager проведет в эту позицию.

Работает нормально.Но ViewPager не смахивает с анимацией.Он перемещается только в текущую позицию.

Я хочу применить анимацию, когда проводите прокрутку ViewPager на RecyclerView.Как я могу реализовать это анимированное поведение?

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Я думаю, вы хотите использовать эффект затухания для анимации.Вы должны импортировать этот класс в свой файл ...

public class FadePageTransformer implements ViewPager.PageTransformer {
    @Override
    public void transformPage(@NonNull View page, float position) {
        page.setTranslationX(page.getWidth() * -position);
        if (position <= -1.0F || position >= 1.0F) {
            page.setAlpha(0.0F);
        } else if (position == 0.0F) {
            page.setAlpha(1.0F);
        } else {
            // position is between -1.0F & 0.0F OR 0.0F & 1.0F
            page.setAlpha(1.0F - Math.abs(position));
        }
    }
}

И после включения этого класса вам нужно настроить пейджер вида следующим образом ...

viewPager.setPageTransformer (false, newFadePageTransformer ());

Поможет вам реализовать эффект анимации в пейджере вида

0 голосов
/ 31 января 2019

Попробуйте с

viewPager.setCurrentItem(position, true)

Согласно документации ViewPager , он позволяет плавно перемещаться в эту позицию.

...