422 Stimmen

Android-Symbolleiste Titel und benutzerdefinierter Schriftart zentrieren

Ich versuche herauszufinden, wie man eine benutzerdefinierte Schriftart für den Symbolleistentitel verwendet und diesen in der Symbolleiste zentriert (Kundenanforderung).

Im Moment verwende ich die gute alte ActionBar und setze den Titel auf einen leeren Wert. Dann verwende ich setCustomView, um meine benutzerdefinierte Schriftart in einem TextView zu platzieren und sie mit ActionBar.LayoutParams zu zentrieren.

Gibt es einen besseren Weg, das zu tun? Verwendung der neuen Toolbar als meine ActionBar.

2voto

Alok Singh Punkte 594

Um einen benutzerdefinierten Titel in Ihrer Symbolleiste zu verwenden, können Sie einen benutzerdefinierten Titel hinzufügen:

Java-Code:

Toolbar toolbar = findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

if (getSupportActionBar() == null)
    return;

getSupportActionBar().setTitle("Titel");

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

2voto

Rainmaker Punkte 9666

Seit android.support.v7.appcompat 24.2 hat Toolbar die Methode setTitleTextAppearance und Sie können seine Schriftart ohne externes textview festlegen.

Erstellen Sie einen neuen Stil in styles.xml

        <item name="android:fontFamily">@font/roboto_condensed_bold</item>

und verwenden Sie ihn

mToolbar.setTitleTextAppearance(this, R.style.RobotoBoldTextAppearance);

1voto

Ângelo Polotto Punkte 5672

Ich habe einen anderen Weg gefunden, um eine benutzerdefinierte Symbolleiste ohne zusätzlichen Java/Kotlin-Code hinzuzufügen.

  • Erstens: Erstellen Sie eine XML-Datei mit Ihrem benutzerdefinierten Symbolleistenlayout mit AppBarLayout als übergeordnetes Element:

  • Zweitens: Fügen Sie die Symbolleiste in Ihr Layout ein:

1voto

Idan Damri Punkte 186

Meiner Meinung nach hast du zwei Optionen:

1) Bearbeite die Toolbar XML. Wenn deine Toolbar in der XML hinzugefügt wird, sieht sie normalerweise so aus:

Wenn du sie anpassen möchtest, entferne einfach das '/' am Ende und mach es so:

So kannst du eine Toolbar haben und den Textview und das Logo anpassen.

2) Programmgesteuert den ursprünglichen Textview und das Icon ändern:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setIcon(R.drawable.ic_question_mark);
getSupportActionBar().setTitle("Titel");

Stelle sicher, dass deine Toolbar nicht null ist, bevor du etwas darin einstellst.

1voto

Gourav Punkte 2628

Sie können einen benutzerdefinierten TextView in der Symbolleiste wie folgt haben:

Das wird den Text in die Mitte setzen. Wenn Sie einer normalen Toolbar eine benutzerdefinierte Schriftart hinzufügen möchten, erstellen Sie ein </code>:</p> <pre><code><style android:name="ToolbarFont"> <item android:fontFamily = "@font/fontName" />

Und fügen Sie es zur Symbolleiste hinzu:

toolbar.setTitleTextAppearance(this, R.style.ToolbarFont);

Für den TextView in der Symbolleiste können Sie ihn mit dem Attribut fontFamily definieren:

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X