Intereting Posts
Получайте контакты Android с функциями типа к фильтру, ограниченным определенной учетной записью Android Player Player с использованием NDK, OpenGL ES и FFmpeg Response-native: app: installDebug FAILED Какова наилучшая первичная ключевая стратегия для онлайн-офлайнового многопользовательского мобильного приложения с базами данных SQLite и Azure SQL в качестве центрального магазина? CoordinatorLayout / AppBarLayout ExpandableListView отображается с экрана Как изменить размер шрифта tabhost в android Создать скрипт в Кордове с неожиданной ошибкой в ​​Ubuntu 12.10 Сколько видов деятельности я должен использовать? Ошибка Android при получении информации с сервера «RPC: s-5: AEC-0» в Google Play? Вопросы о поддержке calabash-android в Android Studio: Ruby, Редактирование функций и шагов, Запуск тестов SwipeRefreshLayout + ViewPager, ограничивать только горизонтальную прокрутку? Автоматизированное тестирование приемочных испытаний для устройств iOS и Android Добавление viewpager в качестве прокручиваемого заголовка в listview Android-конструктор, как «Interface Builder»? Android VideoView MediaPlayer OnInfoListener – события не запускаются

Как изменить цвет текста индикатора вкладок в android?

Как изменить цвет текстового индикатора вкладки? Я могу изменить значок, используя тег selector, который ссылается на пример . Но не соответствует цвету текста. как?

Solutions Collecting From Web of "Как изменить цвет текста индикатора вкладок в android?"

Создайте его в своем настраиваемом изменении темы

<item name="android:tabWidgetStyle">@android:style/Widget.TabWidget</item> 

а также

 <style name="Widget.TabWidget"> <item name="android:textAppearance">@style/TextAppearance.Widget.TabWidget</item> <item name="android:ellipsize">marquee</item> <item name="android:singleLine">true</item> </style> <style name="TextAppearance.Widget.TabWidget"> <item name="android:textSize">14sp</item> <item name="android:textStyle">normal</item> <item name="android:textColor">@android:color/tab_indicator_text</item> </style> 

Вот новый ответ, который я нашел у Фреда Грота ( http://knol.google.com/k/fred-grott/advance-tabs/ ) после небольшого поиска в Интернете.
Это позволяет вам устанавливать selector для цвета текста, поэтому при выборе вкладки можно использовать другой цвет. Это может быть очень полезно, если вы используете другой цвет фона для вкладки, если он выбран. Конечно, вы также можете просто выбросить простой цвет, а не селектор.

 final TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title); tv.setTextColor(this.getResources().getColorStateList(R.color.text_tab_indicator)); 

Где R.color.text_tab_indicator – это XML-файл селектора, расположенный в папке res / drawable.

Другими словами, текст индикатора действительно представляет собой TextView который извлекается через объект View которому можно получить доступ из объекта TabWidget .
Взгляните на примеры Fred для получения дополнительной информации и контекста относительно объявлений переменных, а также других трюков.

Ответ Danny C на 100% правильный. Я просто хотел что-то добавить к нему, чтобы получить полный ответ с файлом ресурсов.

Файл text_tab_indicator в файле res / color

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:textColor="@color/text_tab_selected" android:state_selected="true" /> <item android:textColor="@color/text_tab_unselected" android:state_selected="false" /> </selector> 

И этот text_tab_unselected & text_tab_selected будет выглядеть так в папке colors / values

 <resources> <color name="text_tab_selected">#ffffff</color> <color name="text_tab_unselected">#95ab45</color> 

После этого добавьте ответ Дэнни в файл класса табуляции

 final TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title); tv.setTextColor(this.getResources().getColorStateList(R.color.text_tab_indicator)); 

Изменение цвета также может быть указано без использования java – что, вероятно, лучше.

Я внесла изменения в text_tab_indicator (уведомление textColor было изменено на «color»):

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:color="@color/text_tab_selected" /> <item android:state_selected="false" android:color="@color/text_tab_unselected" /> </selector> 

Задайте стиль TabWidget, чтобы указать на определенный стиль в вашем XML-коде:

 <TabWidget ... style="@style/TabText" /> 

Объявите свой text_tab_indicator, расположенный в / res / color, как вам нужен цвет в стиле

 <style name="TabText"> <item name="android:textColor">@color/tab_text_color</item> </style> 

Он работал как шарм (для меня).

Приветствия, Рэндалл

Попробуйте ColorStateLists . Удачи.