Android Toolbar mit zwei Zeilen im Titel?

8

Ich möchte eine Aktionsleiste mit doppelter Höhe (wie in den Materialrichtlinienbeispielen), aber mit (möglicherweise) zwei Textzeilen im Titel. Der Titel, den ich verwende, ist dynamisch und hängt von dem auf der Seite angezeigten Element ab. Wenn es eine Zeile gibt, sollte es wie eine normale Aktionsleiste aussehen. Wenn es zwei Zeilen gibt, sollte der Text brechen und auf eine neue Zeile fallen. Die Aktionsschaltflächen sollten mit der oberen Textzeile ausgerichtet bleiben, unabhängig davon, ob eine oder zwei Zeilen vorhanden sind.

Ich habe gelesen, dass die Toolbar die neue dynamische Möglichkeit ist, Actionbars zu erstellen, also dachte ich mir das wäre wahrscheinlich der Weg zu gehen (Ich weiß, es gibt Antworten da draußen, die Sie die alte Action Bar Titel Textansicht überschreiben können, um es 2 Zeilen zu machen, aber das sieht nicht aus, wie ich für beide gehen werde). Ich benutze Android 4.4+, also muss ich die appcompat v7-Bibliothek für die Symbolleiste verwenden.

Ich habe bei der Betrachtung des Codes festgestellt, dass die Textansicht des Titels auf eine einzige Zeile beschränkt ist ( Ссылка - enthält den Code mTitleTextView.setSingleLine(); ).

Dann habe ich gedacht, dass da unten ein einzelner Untertitel ist und wir das Format dieses Textes ändern können, ich könnte es genauso wie den Titeltext formatieren und meinen Titel einfach in zwei Teile aufteilen, falls nötig. Ich habe einen einfachen Code geschrieben, um die Zeichenfolge aufzuteilen, aber ich musste wissen, ob ich ihn teilen musste - und in der Praxis stellte ich fest, dass toolbar.isTitleTruncated() immer false zurückgibt (sowohl von meinem Toolbar-Objekt direkt als auch von% co_de) %).

Ich habe die Antwort hier versucht, um ein getSupportActionBar().isTitleTruncated() innerhalb der TextView einzubinden, aber ich Das Toolbar kann nicht mit den Aktionsschaltflächen der Toolbar ausgerichtet werden, wenn ich das tue. Wenn ich es korrekt für eine einzelne Zeile (mit Top-Padding) ausrichten, dann ist es falsch für eine Doppellinie und umgekehrt. Hier ist mein Code:

%Vor%

Hat jemand Ideen? Ist das wirklich etwas, das so gegen die Android Richtlinien ist, dass es so schwierig sein sollte?

Update: Bilder zu Demonstrationszwecken hinzufügen:

Wie es aussehen sollte:

Wie es jetzt aussieht:

    
gkee 05.12.2014, 08:55
quelle

2 Antworten

4

Hmmm, es funktioniert gut für mich.

%Vor%     
Chris Banes 08.12.2014 10:27
quelle