Я использовал this Ответ от вопроса stackoverflow о включении пользовательского Scroller для слайд-анимации ViewPager, и он работает плавно. Он расширяет класс Scroller и использует отражение для доступа к полю mScroller
.Вернитесь назад к по умолчанию ViewPager scroller
Теперь я хочу, чтобы некоторые условия были выполнены (onTouch() и таймер), чтобы вернуться к анимации прокрутки по умолчанию.
Пробовал клонировать mScroller
поле:
Interpolator decelerator = new DecelerateInterpolator();
try {
mScroller = ViewPager.class.getDeclaredField("mScroller");
cloneDefaultScroller = mScroller;
mScroller.setAccessible(true);
scroller = new CarouselScroller(pager.getContext(), decelerator);
mScroller.set(pager, scroller);
} catch (NoSuchFieldException e) {
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
}
включить его снова, как этот
где cloneDefaultScroller
и mScroller
являются:
Field mScroller;
Field cloneDefaultScroller;
но то, что я получаю скроллер который перемещает только несколько пикселей, и я должен попробовать как 1 0 раз, чтобы иметь «нормальный» свиток (с одной страницы на другую).
Любой может помочь с этим? Спасибо
Обновлен вопрос с большим количеством некоторого кода. – mt0s