Условный мастер / инициализация с помощью ViewPager

При первом запуске приложение должно будет выполнить некоторую начальную настройку, поэтому мне нужно загрузить страницы и скопировать их на основе пользовательского решения на странице. Поэтому я хотел бы установить и сдвинуть влево правильную страницу после этого решения с анимацией. Индикатор визуального шага может даже измениться … Все должно быть динамическим:

Введите описание изображения здесь

Но ViewPager всегда загружает по крайней мере следующую страницу самостоятельно через несколько мгновений ( setOffscreenPageLimit(0) недопустим); Фактически, когда пользователь выбирает опцию из фрагмента установки, анимация слайдов проходит через все средние страницы, и они видны во время анимации, потому что я использую mIndicator.setCurrentItem(5, true);

Мне удалось отключить слайд жестов, но анимация дуги не работает. Я могу установить mIndicator.setCurrentItem(5, false); Но я все еще хочу анимацию слайдов после того, как пользователь нажимает кнопки для доступа к соответствующей странице.

В настройке фрагмента есть прослушиватель интерфейса, который реализует Activity. Слушатели вызывают из кнопок, и реализация выглядит так:

 ... @Override public void onRestoreLocal() { //The indicator contains ViewPager and it switches the page as well. mIndicator.setCurrentItem(5, true); } ... public class SectionsPagerAdapter extends FragmentStatePagerAdapter { ... @Override public Fragment getItem(int position) { // getItem is called to instantiate the fragment for the given page. // Return a PlaceholderFragment. Log.d(TAG, "getItem position="+position); switch (position) { case 0: return PlaceholderFragment.newInstance(R.layout.setup_fragment_1, position); case 1: return PlaceholderFragment.newInstance(R.layout.setup_fragment_2, position); case 2: return SetupChoiceFragment.newInstance(); case 3: return SetupCreateFragment.newInstance(); case 4: return SetupImportFragment.newInstance(); case 5: return SetupRestoreFragment.newInstance(); } return null; } ... } 
  1. Должен ли я установить количество страниц на 6, чтобы перейти к выбранной странице? Но как поддерживать анимацию слайдов и PageIndicator always = 4!
  2. Как избежать автоматической загрузки следующего слайда или это не имеет значения?
  3. Должен ли я использовать ViewPager или управлять навигацией Fragment самостоятельно, настраивая пользовательскую скользящую анимацию (со следующей / обратной) на FragmentTransaction без использования FragmentStatePagerAdapter и управляя стопкой назад при возвращении? Или какой другой компонент существует для конфигурации мастера ?

Кроме того, как всегда вернуться на страницу № 3 с жесткой анимацией слайдов, блокируя правый ручной жест?

Intereting Posts