Ich verwende das neue TabLayout aus der Android Design-Bibliothek. Ich habe es geschafft, die Textfarben-Statelliste mit zu setzentabLayout.setTabTextColors(colorstatelist)
Wie kann ich das gleiche mit styles.xml erreichen?
Ich verwende das neue TabLayout aus der Android Design-Bibliothek. Ich habe es geschafft, die Textfarben-Statelliste mit zu setzentabLayout.setTabTextColors(colorstatelist)
Wie kann ich das gleiche mit styles.xml erreichen?
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"
app:tabTextColor="@color/your_unselected_text_color"
app:tabSelectedTextColor="@color/your_selected_text_color"/>
Darüber hinaus gibt es Attribute wie tabIndicatorColor oder tabIndicatorHeight für die weitere Gestaltung.
tabLayout.setTabTextColors(
getResources().getColor(R.color.your_unselected_text_color),
getResources().getColor(R.color.your_selected_text_color)
);
Da dieser alte Weg ab API 23 veraltet ist, lautet die Alternative:
tabLayout.setTabTextColors(
ContextCompat.getColor(context, R.color.your_unselected_text_color),
ContextCompat.getColor(context, R.color.your_selected_text_color)
);
Hier ist ein Snippet-Code zum Überschreiben des Textstils und der ausgewählten Textfarbe
Und hier ist ein Snippet-Code für das Layout
quelle
Alle obigen Antworten sind korrekt, aber ich denke, es ist besser, die Standardstile zu überschreiben und nur das spezifische Element zu ändern, das Sie ändern möchten. Das folgende Beispiel macht den Text fett:
Dann..,
quelle
Sie müssen nur den
android:textAppearance
Stil überschreiben . Weil TabLayout textAppearance verwendet. Hier ist der kleine Code-Snippet-Code.Und wenn Sie nicht auf Ihr Apptheme verweisen möchten , können Sie TabLayout mit dem Snippet Below direkt angeben.
quelle
Für benutzerdefinierte Registerkarten müssen wir Folgendes überschreiben: 1) app: tabTextColor // for_unselected_text "
2) tabSelectedTextColor // für die ausgewählte Registerkartenfarbe 3) tabIndicatorColor // Farbe für die Registerkartenanzeige
tab_text_color.xml
quelle
Mit dem
TabLayout
in der Materialkomponentenbibliothek bereitgestellten können Sie:und in deinem Stil benutze das
tabTextColor
mit einem Selektor.app:tabTextColor
in Ihrem Layout:quelle
Einfacher und perfekter Weg:
In der XML-Datei ::
In der Wertestildatei:
Hinweis: "cairo_semibold" ist eine externe Schriftart, die Sie durch Ihre Schriftart ersetzen können.
quelle
Beste oder kurze und einfache Möglichkeit ist es, benutzerdefinierte Appbar wie zu machen
quelle
XML-Attribute
In Kotlin programmatisch
quelle