Ответ 1
PagerAdapter
не требует Fragments
как детей. Вы можете раздувать/управлять своими собственными представлениями. Таким образом, вы можете продолжать использовать вложенный TabActivities
. Или, вы могли бы поставить Fragments
на верхнем уровне и управлять своим Views
на нижнем уровне ViewPager
.
Можно также теоретически использовать ViewFlipper
, если вы хотите сохранить фрагменты в ViewPager
. Вам нужно будет написать свой собственный LinearLayout
с помощью Buttons
в качестве вкладок, но это легко. Если вы ищете взгляд на Holo, просто установите стиль в те, что найдены в ABS.
Другой вариант - использовать TabHost
без использования TabActivity
. Вы даже можете использовать его с фрагментами. См. Пример здесь.
Также обратите внимание: если вы ищете стиль Google Play для ViewPagerIndicator, который теперь включен в пакет поддержки: PagerTitleStrip.
Я бы предположил, что ваш лучший вариант - использовать Fragments как верхний уровень, поскольку это поможет с потреблением памяти.
Тем не менее,
Я должен сказать, что это звучит как страшный шаблон пользовательского интерфейса. Хуже того, мы говорим о много завышенных просмотров в одном Activity
. Здесь вы можете столкнуться с проблемами памяти, в зависимости от того, что отображается. Я рекомендую использовать ViewStubs
и утилизировать, если вы держите ViewPager
внизу.
Продолжайте пытаться подтолкнуть клиента к использованию шаблона Spinner ActionBar для верхних уровней (основные 3 вкладки) или даже рассмотреть причудливый скользящий шаблон ящика. Возможно, этой гладкой анимации может быть достаточно, чтобы поколебать свое мнение.
Обратитесь к официальному веб-сайту дизайна и покажите примеры популярных шаблонов навигации, подобных тем, которые были найдены в Gmail, YouTube, Google+, Evernote и т.д. Недавно я обратился к клиенту с запросом того же шаблона, который вы описали, и после недели отталкивания смогли убедить их в том, что более чем 2 слоя вкладок неприемлемы.
Вы также можете показать им свою страницу "Стена скрыть +", подчеркнув плохие шаблоны дизайна, используемые в популярных приложениях для Android: Android UI Anti-Patterns.: -)