2015-04-06 2 views
0

У меня есть текст на вкладке установлен таким образом:Сохранить текст в TabWidget когда иконки меняются

TabSpec tabSpecProfile = tabHost.newTabSpec("Profile").setIndicator("Profile", resources.getDrawable(R.drawable.icon_tab_profile)) 
      .setContent(intentProfile); 

Также здесь код icon_tab_profile.xml:

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

Я вижу, что изображения правильно меняются при выборе табуляции, но текст исчезает. Текст с правильным значком отображается на других вкладках. Любые выводы о том, как сохранить текст? Заранее благодарю за вашу помощь.

+0

следуйте этому [Tutorial] (http://www.androidhive.info/2011/08/android-tab-layout-tutorial/). – Harry

+0

Как изменить цвет текста? По умолчанию белый на android: state_selected = "true" и серый на android: state_selected = "false" – Actiwitty

+0

так же, как вы разместили файл icon_tab_profile, но замените drawable цветовым тегом. – Harry

ответ

1

Я решил проблему, установив подходящий стиль, смотрите ниже код:

styles.xml

<style name="AppTheme" parent="@android:style/Theme.Light"> 
    <item name="android:tabWidgetStyle">@style/TabWidget</item> 
</style> 

<style name="TabWidget" parent="@android:style/Widget.TabWidget"> 
    <item name="android:textAppearance">@style/TextAppearanceTabWidget</item> 
    <item name="android:ellipsize">marquee</item> 
    <item name="android:singleLine">true</item> 
</style> 

<style name="TextAppearanceTabWidget" parent="@android:style/TextAppearance.Widget.TabWidget"> 
    <item name="android:textSize">14sp</item> 
    <item name="android:textStyle">normal</item> 
    <item name="android:textColor">@color/tab_indicator_text</item> 
</style> 

создать «цвет» папку в «Рез» и добавить этот файл,

tab_indicator_text.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_selected="true" android:color="@android:color/white"/> 
    <item android:state_selected="false" android:color="@android:color/black"/> 

</selector> 

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

надеюсь, что это поможет.

Смежные вопросы