Мне нужно создать пейджер с бесконечной автоматической прокруткой.
Также мне нужно показать индикатор страницы под пейджером просмотра, который должен отвечать согласно событиям прокрутки.
В настоящее время я применил следующую логику для бесконечной автоматической прокрутки:
public void setupAutoPager(final int size) {
final Handler handler = new Handler();
final Runnable update = new Runnable() {
public void run() {
promotionViewPager.setCurrentItem(currentPage);
if (currentPage >= size - 1) {
currentPage = 0;
} else {
++currentPage;
}
}
};
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.post(update);
}
}, 500, 2500);
}
Проблема: Когда 1-й элемент снова появляется из последнего элемента при автоматической прокрутке, анимация пейджера просмотра идет в обратном направлении, тогда как при автоматической прокрутке с 1-го по 2-й элемент анимация идет в направлении вперед. Я хочу, чтобы анимация всегда была в прямом направлении.
Обратная анимация происходит, когда я устанавливаю текущий элемент пейджера представления в положение 0, когда он достигает конца. Он прекрасно работает в большинстве приложений, как в Amazon, как это реализовать.