Viewpager с несколькими представлениями внутри, например полоса приложения Pulse

Возможный дубликат:
Android: может ли View Pager иметь несколько представлений на странице?

Я использую ViewPager в соответствии с этим замечательным руководством:

http://thepseudocoder.wordpress.com/2011/10/05/android-page-swiping-using-viewpager/

В этом руководстве показано, как отображать только одну «страницу» или представление при каждом пролистывании.

Как я могу сделать что-то вроде полосы в приложении Pulse:

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

Это имеет эффект привязки, такой как ViewPager, но может иметь несколько представлений внутри?


person David    schedule 26.02.2012    source источник


Ответы (2)


Похоже, что пейджер просмотра выполняет только одно представление за раз и не может иметь несколько представлений.

Вы можете попробовать реализовать свой собственный вид горизонтальной прокрутки с помощью собственных методов прокрутки и касания: http://blog.velir.com/index.php/2010/11/17/android-snapping-horizontal-scroll/

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

person CLDev    schedule 28.02.2012
comment
Итак, в чем на самом деле разница между галереей и горизонтальной прокруткой с помощью методов прокрутки и касания? Почему бы не использовать галерею в любом случае? - person David; 28.02.2012
comment
Галерея поставляется с готовыми методами перетаскивания и касания, но имеет функцию привязки к центру при нажатии. Если это не проблема, то обязательно используйте галерею. Горизонтальный вид прокрутки, вам придется реализовать свой собственный бросок и касание, поскольку он не встроен заранее. - person CLDev; 28.02.2012

Используя LayoutInflater, вы можете делать все, что хотите, внутри instanceiateItem.

  1. Создайте xml, который вам нужен для просмотра
  2. Получите экземпляр LayoutInflater и раздуйте этот xml на нужных страницах.
  3. Внутри instanceiateItem внесите изменения в завышенные представления, вызвав inflatedviewname.findviewbyid

Оформить эту строку в моем проекте

Дайте мне знать в комментариях, если вам все еще нужна помощь

РЕДАКТИРОВАТЬ:

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

person Shereef Marzouk    schedule 27.02.2012
comment
Я знаю, что могу добавить любое представление на одну страницу моего ViewPager, но тогда это представление (и все его подпредставления) действует как одна страница/фрагмент. Вы не можете прокрутить до середины этого вида и остановиться там (привязка переместит вас вправо/влево) - person David; 27.02.2012
comment
у вас не может быть горизонтальной прокрутки на странице просмотра, но у вас может быть прокрутка с вертикальной прокруткой или список. - person Shereef Marzouk; 27.02.2012
comment
я рекомендую вам использовать больше страниц для достижения вашей цели или разработать больше, чтобы мы могли помочь вам найти решение, @David попробуйте HorizontalScrollView Без просмотра пейджера вы сможете сделать полосу прокрутки без привязки - person Shereef Marzouk; 27.02.2012
comment
Спасибо за совет. Я попробовал HorizontalScrollView, все в порядке. Но могу ли я иметь HorizontalScrollView с эффектом привязки? Что будет здорово! - person David; 27.02.2012
comment
@david, я не понимаю, если вам нужен эффект привязки, почему бы не использовать больше страниц на пейджере вместо большего количества просмотров? - person Shereef Marzouk; 27.02.2012
comment
Говоря использовать больше страниц на пейджере просмотра, что вы имеете в виду? - person David; 28.02.2012