РЕДАКТИРОВАТЬ: См. Мой собственный ответ для простого решения
ВАЖНО : Предлагается вознаграждение за четкий способ изменения ViewPager в соответствии со сценарием, описанным ниже . Пожалуйста, не предлагайте HorizontalScrollView - мне нужен полный сценарий жизненного цикла фрагмента
Мне нужно реализовать горизонтальную прокрутку представлений на основе фрагментов
, в которых один элемент находится в центре, а элементы справа / слева частично или полностью видимый. ViewPager
плохо подходит для этой задачи, поскольку он ориентирован на отображение одного элемента в каждый момент времени.
Для облегчения понимания ниже приведен небольшой набросок, в котором элементы 1, 5 и 6 находятся за пределами видимой области. И я хочу сделать это видимое число настраиваемым, поэтому, например, в портретном режиме я буду показывать только 2 (или, возможно, только один) элемента.
Я не пытаюсь уместить, скажем, 3 элемента на экране, пока отображается центральный элемент, остальные можно обрезать. На маленьком экране можно разместить 1 центральный элемент, а по мере увеличения размера экрана должны отображаться несколько элементов (обрезанные - в порядке)
Я понимаю, что это похоже на галерею, но, опять же, элементы не простые изображения, а Фрагменты
с вертикально прокручиваемым списком в каждом фрагменте
PS Нашел это сообщение в блоге @Commonsware, в котором перечислены 3 различных подхода . Для моих нужд мне нравится # 3