web-dev-qa-db-fra.com

Style de texte sur TabLayout

J'essaie de styliser la nouvelle TabLayout de la bibliothèque de conception Android.

<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>

Et le texte est défini ici

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

Mais l'onglet sélectionné est toujours noir, comment puis-je le changer?

9
Javier Manzano

définissez tabSelectedTextColor dans NavigationTab comme ceci:

<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>
18
JeKa

Si vous devez simplement donner une couleur de texte différente, l'option directe est utilisée en utilisant app: tabTextColor pour désélectionner et app: tabSelectedTextColor pour le texte de tabulation sélectionné comme dans l'exemple.

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