Я разрабатываю приложение для Android, в котором у меня есть один ViewPager сверху и один горизонтальный RecyclerView под ViewPager.
Когда я прокручиваю RecyclerView, я обновляю элемент ViewPager с помощью viewPager.setCurrentItem(position). Так что ViewPager переместится в эту позицию.
Он работает нормально. А вот ViewPager не свайпает с анимацией. Он перемещается только в текущую позицию.
Я хочу применить некоторую анимацию, проводя ViewPager по прокрутке RecyclerView. Как я могу реализовать это анимированное поведение?
Попробуйте с
viewPager.setCurrentItem(position, true)
Согласно документация ViewPager позволяет плавно перейти в эту позицию.
Я думаю, вы хотите использовать эффект затухания для анимации. вы должны импортировать этот класс в свой файл...
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,new FadePageTransformer());
Это поможет вам реализовать эффект анимации в представлении пейджера.