Android - горизонтальная прокрутка нескольких просматриваемых элементов

РЕДАКТИРОВАТЬ: См. Мой собственный ответ для простого решения

ВАЖНО : Предлагается вознаграждение за четкий способ изменения ViewPager в соответствии со сценарием, описанным ниже . Пожалуйста, не предлагайте HorizontalScrollView - мне нужен полный сценарий жизненного цикла фрагмента

Мне нужно реализовать горизонтальную прокрутку представлений на основе фрагментов , в которых один элемент находится в центре, а элементы справа / слева частично или полностью видимый. ViewPager плохо подходит для этой задачи, поскольку он ориентирован на отображение одного элемента в каждый момент времени.

Для облегчения понимания ниже приведен небольшой набросок, в котором элементы 1, 5 и 6 находятся за пределами видимой области. И я хочу сделать это видимое число настраиваемым, поэтому, например, в портретном режиме я буду показывать только 2 (или, возможно, только один) элемента.

Я не пытаюсь уместить, скажем, 3 элемента на экране, пока отображается центральный элемент, остальные можно обрезать. На маленьком экране можно разместить 1 центральный элемент, а по мере увеличения размера экрана должны отображаться несколько элементов (обрезанные - в порядке)

Я понимаю, что это похоже на галерею, но, опять же, элементы не простые изображения, а Фрагменты с вертикально прокручиваемым списком в каждом фрагменте

PS Нашел это сообщение в блоге @Commonsware, в котором перечислены 3 различных подхода . Для моих нужд мне нравится # 3

enter image description here

49
задан Bostone 23 November 2012 в 14:33
поделиться