Как добавить вкладки пользовательского интерфейса в этот новый мир ICS?

У меня есть требование показывать вкладки в приложении. На самом деле я никогда раньше не использовал TabHost и т. д., и документы предполагают, что все это беспорядок. TabActivity устарела. Я все равно не могу легко его использовать, так как я использую ActionBarSherlock, поэтому я не могу наследовать его. Тогда, конечно, что касается ICS, я бы все равно не использовал TabHost, я бы использовал вкладки на панели действий. Поскольку мои вкладки представляют собой просто текст и просты по своей природе, я вижу три варианта:

  1. Заставьте TabHost работать с ActionBarSherlock. На устройствах ICS это будет выглядеть уродливо.
  2. Используйте ActionBarSherlock и реализуйте вкладки, при условии, что он каким-то образом отображает вкладки ActionBar в версиях Android до v4 (я понятия не имею, если это так, я подозреваю, что нет)
  3. Просто используйте Views как «вкладки», чтобы переключаться между действиями.

Я склоняюсь к последнему варианту, но буду признателен за пояснение.


person Ollie C    schedule 19.12.2011    source источник


Ответы (1)


Используйте ActionBarSherlock и реализуйте вкладки, при условии, что он каким-то образом отображает вкладки ActionBar в версиях Android до v4 (я понятия не имею, если это так, я подозреваю, что нет)

Похоже, что ActionBarSherlock поддерживает вкладки на всех уровнях Android API, которые поддерживает сам ActionBarSherlock.

Например, они демонстрируют это в среде Android 2.3:

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

А в часто задаваемых вопросах говорится о поддержке вкладок "на устройствах до версии 3.0".

На тематической странице перечислены атрибуты темы для оформления вкладок.

А в Группе Google есть всевозможные обсуждения использования вкладок.

person CommonsWare    schedule 19.12.2011
comment
Идеально. Большое спасибо Марк. Джейк проделал отличную работу — мне трудно понять, почему Google не перенесла все это самостоятельно — у немногих разработчиков есть время для создания двух пользовательских интерфейсов. - person Ollie C; 19.12.2011