Как изменить стиль и цвет вкладки с помощью библиотеки AppCompat

Я делаю небольшую программу, в которой я использую вкладки Fragment Tabs , чтобы сделать ее стильной, я использовал Style Generator , и мой опыт был хорош в этом.

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

Первый снимок экрана моего простого стильного ActionBar

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

Как и мы видим, все тексты Tab выглядят эквивалентными , поэтому здесь мне нужна ваша помощь, в моем случае стиль текста для выбранной вкладки останется таким же белым, как и полужирный, как он выглядит, но хочет изменить стиль текста для других как нормальный (я имею в виду Те не выбраны, как: – IOS и WINDOWS)

styles.xml:

<resources> <style name="Theme.Compatstyle4" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="actionBarItemBackground">@drawable/selectable_background_compatstyle4</item> <item name="popupMenuStyle">@style/PopupMenu.Compatstyle4</item> <item name="dropDownListViewStyle">@style/DropDownListView.Compatstyle4</item> <item name="actionBarTabStyle">@style/ActionBarTabStyle.Compatstyle4</item> <item name="actionDropDownStyle">@style/DropDownNav.Compatstyle4</item> <item name="actionBarStyle">@style/ActionBar.Solid.Compatstyle4</item> <item name="actionModeBackground">@drawable/cab_background_top_compatstyle4</item> <item name="actionModeSplitBackground">@drawable/cab_background_bottom_compatstyle4</item> <item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Compatstyle4</item> <!-- Light.DarkActionBar specific --> <item name="actionBarWidgetTheme">@style/Theme.Compatstyle4.Widget</item> </style> <style name="ActionBar.Solid.Compatstyle4" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> <item name="background">@drawable/ab_solid_compatstyle4</item> <item name="backgroundStacked">@drawable/ab_stacked_solid_compatstyle4</item> <item name="backgroundSplit">@drawable/ab_bottom_solid_compatstyle4</item> <item name="progressBarStyle">@style/ProgressBar.Compatstyle4</item> </style> <style name="ActionBar.Transparent.Compatstyle4" parent="@style/Widget.AppCompat.ActionBar"> <item name="background">@drawable/ab_transparent_compatstyle4</item> <item name="progressBarStyle">@style/ProgressBar.Compatstyle4</item> </style> <style name="PopupMenu.Compatstyle4" parent="@style/Widget.AppCompat.PopupMenu"> <item name="android:popupBackground">@drawable/menu_dropdown_panel_compatstyle4</item> </style> <style name="DropDownListView.Compatstyle4" parent="@style/Widget.AppCompat.ListView.DropDown"> <item name="android:listSelector">@drawable/selectable_background_compatstyle4</item> </style> <style name="ActionBarTabStyle.Compatstyle4" parent="@style/Widget.AppCompat.ActionBar.TabView"> <item name="android:background">@drawable/tab_indicator_ab_compatstyle4</item> </style> <style name="DropDownNav.Compatstyle4" parent="@style/Widget.AppCompat.Spinner.DropDown.ActionBar"> <item name="android:background">@drawable/spinner_background_ab_compatstyle4</item> <item name="android:popupBackground">@drawable/menu_dropdown_panel_compatstyle4</item> <item name="android:dropDownSelector">@drawable/selectable_background_compatstyle4</item> </style> <style name="ProgressBar.Compatstyle4" parent="@style/Widget.AppCompat.ProgressBar.Horizontal"> <item name="android:progressDrawable">@drawable/progress_horizontal_compatstyle4</item> </style> <style name="ActionButton.CloseMode.Compatstyle4" parent="@style/Widget.AppCompat.ActionButton.CloseMode"> <item name="android:background">@drawable/btn_cab_done_compatstyle4</item> </style> <!-- this style is only referenced in a Light.DarkActionBar based theme --> <style name="Theme.Compatstyle4.Widget" parent="@style/Theme.AppCompat"> <item name="popupMenuStyle">@style/PopupMenu.Compatstyle4</item> <item name="dropDownListViewStyle">@style/DropDownListView.Compatstyle4</item> </style> </resources> 

Например: я хочу показать цвет текста по умолчанию для выбранной вкладки и серый для других

Вам нужно будет выполнить настройки в трех местах.

  1. Ваша тема ActionBAr, где я устанавливаю свой tabstyle как пользовательский, определенный ниже.

     <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="actionBarTabStyle">@style/CustomActionBarTabs</item> <item name="actionBarTabTextStyle">@style/CustomActionBarTabs_TextColor</item> 

  2. Мой пользовательский стиль табуляции, который относится к переносимому селектору для различных состояний.

     <!-- action bar tab styles --> <style name="CustomActionBarTabs" parent="@style/Widget.AppCompat.ActionBar.TabView"> <item name="android:background">@drawable/tab_indicator_ab_custom_actionbar_style</item> <item name="android:textColor">#666666</item> </style> 
  3. Мой селектор, установите это согласно вашему требованию.

     <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Non focused states --> <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@android:color/transparent" /> <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_custom_actionbar_style" /> <!-- Focused states --> <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused_custom_actionbar_style" /> <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_focused_custom_actionbar_style" /> <!-- Pressed --> <!-- Non focused states --> <item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_custom_actionbar_style" /> <item android:state_focused="false" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_custom_actionbar_style" /> <!-- Focused states --> <item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_custom_actionbar_style" /> <item android:state_focused="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_custom_actionbar_style" /> </selector> 

 <!-- Focused states --> <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused_holo" /> <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_focused_holo" /> <!-- Pressed --> <!-- Non focused states --> <item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" /> <item android:state_focused="false" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" /> <!-- Focused states --> <item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" /> <item android:state_focused="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" /> 

Intereting Posts
Текст содержания уведомлений Android не отображается в OS 4.4.4 Kitkat, но отображается на OS 5.0 Lollipop Пограничная рамка вокруг прозрачной кнопки Тестирование кампании Google Analytics V4 Тестирование не работает Не удалось создать Android-приложение (см. Как ActionBarSherlock & ViewPagerTabs) с Ant Анимация в панели уведомлений Пользовательский вид Как имитировать сенсорное событие в Android? Библиотека обработки изображений для Android? Как реализовать метод onCreateOptionsMenu в файле SherlockFragment? Альтернативы HashMap для Android-приложений Android PhoneGap получает рыскание, шаг, рулон, относительно координат земли Фатальный сигнал 11 (SIGSEGV) при 0x00000000 (код = 1), поток 32140 Как я могу отправить уведомление от пользователя пользователю по запросу? Как выдать сообщение подтверждения (да / нет) задачи Android? Android Pull To Refresh ListView: исключить подсказку для подсказки Идеи для мультиплатформенной зашифрованной мобильной системы хранения Java