2015-07-06 2 views
7

Sto provando a modellare il nuovo TabLayout dalla libreria di progettazione Android.Stile testo su TabLayout

<style name="NavigationTab" parent="Widget.Design.TabLayout"> 
    <item name="tabBackground">@drawable/background_tab</item> 
    <item name="tabIndicatorColor">@color/blue</item> 
    <item name="tabTextAppearance">@style/NavigationTabTextAppeareance</item> 
</style> 

E il testo è definito proprio qui

<style name="NavigationTabTextAppeareance" parent="TextAppearance.Design.Tab"> 
     <item name="android:textColor">@color/primary_light</item> 
     <item name="android:textSize">12sp</item> 
</style> 

Ma la scheda selezionata è sempre nero, come posso cambiarlo?

risposta

12

set tabSelectedTextColor in NavigationTab come questo:

<style name="NavigationTab" parent="Widget.Design.TabLayout"> 
    <item name="tabBackground">@drawable/background_tab</item> 
    <item name="tabSelectedTextColor">@color/primary_light</item> 
    <item name="tabIndicatorColor">@color/blue</item> 
    <item name="tabTextAppearance">@style/NavigationTabTextAppeareance</item> 
</style> 

<style name="NavigationTabTextAppeareance" parent="TextAppearance.Design.Tab"> 
     <item name="android:textColor">@color/primary_light</item> 
     <item name="android:textSize">12sp</item> 
</style> 
2

Se devi solo dare diverso colore del testo allora non c'è possibilità diretta utilizzando app: tabTextColor per non selezionata e app: tabSelectedTextColor per il testo scheda selezionata come nell'esempio.

<android.support.design.widget.TabLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:tabTextColor="#607D8B" 
      app:tabSelectedTextColor="#FFFFFF"/>