versuchte setCollapsedTitleTextAppearance (); und setCollapsedTitleTextColor (); Funktion?
Abhishek
@abhishek, es ist nicht das, wonach ich suche. Ich kann die Schrift nicht über XML ändern.
AlexMomotov
Antworten:
138
Aktualisieren
Bevor wir uns mit dem Code befassen, entscheiden wir uns zunächst textSizefür unseren CollapsingToolbarLayout. Google hat eine Website mit dem Namen material.ioveröffentlicht. Auf dieser Website wird auch der beste Umgang mit Typografie erläutert .
Der Artikel erwähnte die Kategorie "Überschrift", in der auch die empfohlene Schriftgröße erläutert wird sp.
Der Artikel erwähnte zwar nie die empfohlene CollapsingToolbarLayout'serweiterte Größe, aber die Bibliothek com.android.support:designbietet eine TextAppearancefür unseren Fall. Beim Graben mit der Quelle stellt sich heraus, dass die Größe ist 34sp(im Artikel nicht erwähnt).
Wie wäre es also mit der zusammengeklappten Größe? Zum Glück hat der Artikel etwas erwähnt und es ist 20sp.
Und das Beste TextAppearance, was bisher in den Collpased- Modus passt, ist, TextAppearance.AppCompat.Titlewährend unser erweiterter Modus TextAppearanceist TextAppearance.Design.CollapsingToolbar.Expanded.
Wenn Sie alle unsere Beispiele beachten, verwenden vor allem die REGELMÄSSIGE Version der Schriftart, die mit Sicherheit Roboto regulardie Aufgabe erledigt , es sei denn, Sie haben spezielle Anforderungen.
Das Herunterladen der Schriftarten selbst ist möglicherweise zu aufwändig. Verwenden Sie eine Bibliothek mit allen erforderlichen Roboto-Schriftarten. Also stelle ich eine Kalligraphiebibliothek für Roboto vor, zB Typer .
Das hat die Arbeit für mich über die Titel Textfarbe zu ändern, da ich das finden Toolbar.setTitleTextColor()oder app:titleTextColorvon Toolbardoesnt ändert die Farbe des Titels der Symbolleiste , wenn eingeschlossen inCollapsingToolbarLayout
patrickjason91
1
@ patrickjason91 u muss verwendenCollapsingToolbarLayout toolbar_layout =findViewById(R.id.toolbar_layout); toolbar_layout.setExpandedTitleColor(Color.BLACK);
Um alle Antworten hier hinzuzufügen, hat es in XML nicht funktioniert, egal wo ich versucht habe, in AppTheme auf Stile zu verweisen. Ich verwende derzeit die Support-Bibliothek 27.1.1
Stellen Sie sicher, dass Sie zuerst den Titel der reduzierenden Symbolleiste festlegen . Setzen Sie setCollapsedTitleTypeFace, nachdem Sie den Titel festgelegt haben, der für mich funktioniert hat.
Pradip Tilala
Ja, es hat bei mir funktioniert und sollte für diejenigen funktionieren, die den Ordner 'font' verwenden.
Gibt es überhaupt einen Spielraum, um den Titel zu reduzieren?
Mr.G
4
Ändern Sie die Schriftgröße oder das übergeordnete Element.
<stylename="expandedappbar"parent="@android:style/TextAppearance.Medium">//Change Medium to Small
<item name="android:textSize">28sp</item><!--Or Change the font size --><item name="android:textColor">@color/white</item><item name="android:textStyle">bold</item></style><stylename="collapsedappbar"parent="@android:style/TextAppearance.Medium"><item name="android:textSize">18sp</item><item name="android:textColor">@color/white</item></style>
Antworten:
Aktualisieren
Bevor wir uns mit dem Code befassen, entscheiden wir uns zunächst
textSize
für unserenCollapsingToolbarLayout
. Google hat eine Website mit dem Namenmaterial.io
veröffentlicht. Auf dieser Website wird auch der beste Umgang mit Typografie erläutert .Der Artikel erwähnte die Kategorie "Überschrift", in der auch die empfohlene Schriftgröße erläutert wird
sp
.Der Artikel erwähnte zwar nie die empfohlene
CollapsingToolbarLayout's
erweiterte Größe, aber die Bibliothekcom.android.support:design
bietet eineTextAppearance
für unseren Fall. Beim Graben mit der Quelle stellt sich heraus, dass die Größe ist34sp
(im Artikel nicht erwähnt).Wie wäre es also mit der zusammengeklappten Größe? Zum Glück hat der Artikel etwas erwähnt und es ist
20sp
.Und das Beste
TextAppearance
, was bisher in den Collpased- Modus passt, ist,TextAppearance.AppCompat.Title
während unser erweiterter ModusTextAppearance
istTextAppearance.Design.CollapsingToolbar.Expanded
.Wenn Sie alle unsere Beispiele beachten, verwenden vor allem die REGELMÄSSIGE Version der Schriftart, die mit Sicherheit
Roboto regular
die Aufgabe erledigt , es sei denn, Sie haben spezielle Anforderungen.Das Herunterladen der Schriftarten selbst ist möglicherweise zu aufwändig. Verwenden Sie eine Bibliothek mit allen erforderlichen Roboto-Schriftarten. Also stelle ich eine Kalligraphiebibliothek für Roboto vor, zB Typer .
Java
Kotlin
Dies ist ein Update für 2019, da die Typer-Bibliothek aktualisiert wurde! Ich bin auch der Autor der Bibliothek.
quelle
Mit den neuen öffentlichen Methoden können Sie
CollapsingToolbarLayout
die Schriftart für den reduzierten und erweiterten Titel wie folgt festlegen:Dies scheint in der Design Support Library 23.1.0 hinzugefügt worden zu sein und ist eine sehr willkommene Ergänzung.
quelle
setTitle(String)
Methode wahrscheinlich für dieCollapsingToolbarLayout
Instanz verwenden.Sie können so etwas tun:
Der entsprechende Textansichtsstil könnte sein: 28sp # 000 fett
siehe auch hier als Referenz.
quelle
Toolbar.setTitleTextColor()
oderapp:titleTextColor
vonToolbar
doesnt ändert die Farbe des Titels der Symbolleiste , wenn eingeschlossen inCollapsingToolbarLayout
CollapsingToolbarLayout toolbar_layout =findViewById(R.id.toolbar_layout); toolbar_layout.setExpandedTitleColor(Color.BLACK);
Referenz hier CollapsingToolbarLayout setTitle funktioniert nicht richtig
quelle
Um alle Antworten hier hinzuzufügen, hat es in XML nicht funktioniert, egal wo ich versucht habe, in AppTheme auf Stile zu verweisen. Ich verwende derzeit die Support-Bibliothek 27.1.1
Es hat nur programmatisch funktioniert.
quelle
Sieht so aus, als hätte ich eine Lösung:
quelle
Code ist hier
Fügen Sie diese Codezeilen in das Layout CollapsingToolbarLayout ein
Und der Code, der unten in style.xml angegeben ist
quelle
Ändern Sie die Schriftgröße oder das übergeordnete Element.
quelle
Android 8.0 (API Level 26) hat eine neue Funktion eingeführt, Schriftarten in XML
Jetzt können Sie Schriftarten als Ressource https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html definieren
res-> font->
Ordner abnächster Satz
quelle