Как реализовать меню вкладки Android без устаревшего tabhost

Мой вопрос звучит просто, но я не могу найти достаточного ответа для этого.

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

В основном я ищу:

┌───────────────────────────────────── │ │ Top of Page │ ├───────┬───────┬───────┬───────┬───── │ Tab 1 │ Tab 2 │ Tab 3 │ Tab 4 │ │ └───────┴───────┴───────┴───── │ │ Bottom of page │ │ │ ⁞ 

Я изначально собирался использовать tabhost с несколькими вкладками; Но я понимаю, что это устарело сейчас, поэтому я ищу наиболее эффективный и современный способ для этого для разработки Android. Самый простой способ, который уже был реализован, – это панель действий, но это наверху приложения – и это не совсем то, к чему я тоже пытаюсь пойти.

Я прочитал в другом потоке, что вместо этого следует использовать фрагменты; Но, учитывая простоту tabhosts, я не совсем понимаю, как фрагмент может заменить это, потому что, насколько я могу судить, у него нет встроенной опции вкладки; Только списки. (Конечно, я могу ошибаться)

Другие параметры, которые я нашел, – ActionbarSherlock и просто кнопки, которые меняют макеты.

Я предполагаю, что в целом то, о чем я прошу, является лучшим, самым современным, совместимым с прошлым способом воспроизведением дизайна, который у меня там есть?

EDIT: Пока единственное, что я нашел из исследования, все еще заявляет, что я использую фрагменты с API совместимости или просто используя кнопки и FrameLayout. Мне действительно не интересно использовать панель действий, так как она не идет ниже макета, который должен быть сверху.

Или было бы действительно так плохо, чтобы просто идти вперед и использовать TabHost в любом случае, хотя это устарело?

CMIIW, но я думаю, что tabhost еще не устарел. Даже если он устарел, это не значит, что вы не можете его использовать, это просто означает, что есть лучшая альтернатива. Идите в Tabhost, если вы считаете, что действительно хотите и хотите его использовать.

Для альтернативного способа, вы можете взглянуть на это: альтернатива tabactivity или это, если вы пойдете для лучшего понимания использования Tabhost, как использовать tabhost .

Альтернативные способы, в том числе: использовать ViewPager с индикатором с вкладками, например, PagerTabStrip, TabPagerIndicator из проекта ViewPagerIndicator, PagerSlidingTabStrip и т. Д.

Используйте вкладки в панели действий (обратите внимание: они преобразуются в раскрывающийся список в некоторых размерах и ориентациях устройства)

Использовать FragmentTabHost

Используйте TabHost и TabWidget в обычной деятельности

Следующие примеры проектов демонстрируют:

PagerTabStrip: https://github.com/commonsguy/cw-omnibus/tree/master/ViewPager/TabPager

TabPageIndicator: https://github.com/commonsguy/cw-omnibus/tree/master/ViewPager/VPI

Вкладки панели действий: https://github.com/commonsguy/cw-omnibus/tree/master/ActionBar/TabFragmentDemo

TabHost и TabWidget: https://github.com/commonsguy/cw-omnibus/tree/master/WidgetCatalog/Tab

Обратите внимание, что первые три образца используют ActionBarSherlock, поэтому они запускаются на устройствах Android 2.x. Четвертый должен работать на чем угодно начиная с Android 1.0.

Вы можете использовать:

Панель действий в android

Intereting Posts
Где я могу найти документацию для BlueZ? Растровое изображение против ImageView vs Drawable Предотвращение использования RecyclerView для использования событий касания Как установить свойство «android: drawableTop» кнопки во время выполнения Зачем использовать onDestroy (), если он не гарантированно называется? Приложение не установлено без каких-либо причин Как отключить «Предложения в приложениях» в Google Play для моего приложения Как выполнить метод, нажав на уведомление Как получить значение атрибута «ресурс id» элемента android и атрибут «content description» в appium java? Opencv Android: java.lang.UnsatisfiedLinkError: dlopen failed: не удалось загрузить библиотеку "libopencv_java.so" Как получить конкретную строку кода, которая вызвала ошибку Как представить вложенные данные в классе Firebase Изменить язык элемента навигации Как изменить цвет переносимого вектора пути при нажатии кнопки Вызов активности из ViewHolder в RecyclerView?