Пользовательские андроид TabsHost

Желая изменить вид по умолчанию TabWidget для Android? В этом учебнике мы изучим несколько различных способов настройки вашего приложения вкладки. С Android SDK 1.6 и выше, пакет SDK позволяет установить как на вкладке вместо только текст и значок. Мы использование использовать этот метод для создания пользовательских вкладок ищет.

Шаг 1: Создание макета

Во-первых, давайте создадим план XML, называемый main.xml, содержащий TabHost и TabWidget.

Шаг 2: Написать код вида деятельности

После того, как у нас есть макет, нам нужно создать нашей основной деятельности. Для этого вы можете иметь ваш класс расширения TabActivity. Однако если содержимое одной из вкладок MapView, вам будет нужно расширить MapActivity.

Давайте создадим класс под названием CustomTabActivity и его расширения TabActivity.

В методе onCreate() нам нужно установить содержание нашего XML макет и извлечь объект TabHost.

Далее мы хотим добавить наш вкладки. Мы добавим три вкладки для этого примера (с видом случайный текст как содержание) и использовать метод удобства (setupTab) для ясности.

Как правило мы бы использовать setIndicator и дать ему либо строкой или строкой и катры для значка. Теперь мы создание представления (метод createTabView) и установка индикатора к этому.

Шаг 3: Создание настраиваемой вкладки Макет

В createTabView мы раздувая tabs_bg.xml. Эта схема проста и просто имеет вид текста. Если вы хотите настроить это далее, можно редактировать tabs_bg и добавить ImageView и др.

tabs_bg.XML

Шаг 4: Настройте внешний вид представления

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

Давайте изменить макет нашего tabs_bg и добавить два атрибута: фон, который указывает состояние списка катры и прямоугольников, который указывает список различных состояний катры.

tabs_bg.XML
Мы можем изменить текст ли вкладка активного, прессованный, выбранных или неактивных. Так давайте создадим список состояние для цвета текста.

tab_text_selector.XML


И мы хотим также изменить цвет фона. Вот селектор XML для фона вкладки.

tab_bg_selector.XML
Теперь с этой селектор уведомления мы устанавливаем активные и неактивные вкладки стола к другому катры. В этом случае это цвет градиента фигуры. Вы можете использовать изображения здесь.

Давайте определим tab_bg_selected.xml:
Шаг 5: Окончательные настройки

Так что теперь у нас есть решение реальных настраиваемой вкладки. Однаковы можете добавить катры для перехода между вкладками (вкладкаразделитель). В то время как Android используется атрибут разделителявкладки для TabWidget, он не кажется больше существовать. Поэтомурешение заключается в том, чтобы программно добавить этот холст.

1
mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
Убедитесь в том добавить эту строку перед вызовы setupTab!

Вот наш конечный продукт:

3 comments: