Meine Frage ist die gleiche wie Frage (das ist nicht ein Duplikat von diese Frage ).
Die Antwort auf diese Frage funktioniert für mich nicht, anstatt das Standard-Hamburger-Symbol auf Wie bekomme ich das eigentlich? Ich habe den ganzen Tag damit herumgestochert, aber habe nichts erreicht. Ich sehe, dass Hinweis: Hierbei handelt es sich nicht darum, wie Sie die Badge-Ansicht erstellen können. Ich habe das bereits erstellt und habe es auf den Navigationsmenüpunkten selbst implementiert. Daher muss ich jetzt nur noch eine ähnliche Badge-Ansicht zum Standard-Hamburger-Icon hinzufügen. Toolbar
eine setNavigationIcon(Drawable drawable)
Methode hat. Idealerweise würde ich layout
(das das Hamburger-Icon und die Badge-Ansicht enthält) anstelle von Drawable
verwenden, aber ich bin mir nicht sicher, ob / wie dies erreichbar ist - oder ob es einen besseren Weg gibt?
Seit Version 24.2.0 der Support-Bibliothek bietet die v7-Version von ActionBarDrawerToggle
die Methode setDrawerArrowDrawable()
an, um das Umschalt-Symbol anzupassen. DrawerArrowDrawable
ist die Klasse, die dieses Standardsymbol bereitstellt, und es kann unterkonsolidiert werden, um es nach Bedarf zu ändern.
Als Beispiel überschreibt die Klasse BadgeDrawerArrowDrawable
die Methode draw()
, um ein einfaches rot-weißes Abzeichen hinzuzufügen, nachdem sich die Superklasse selbst gezeichnet hat. Dadurch kann die Hamburger-Pfeil-Animation darunter bewahrt werden.
Eine Instanz davon kann jederzeit nach der Instanziierung auf den Schalter gesetzt werden, und die Eigenschaften des Badge werden nach Bedarf direkt auf das Zeichenfeld gesetzt.
Wie im unten stehenden OP angegeben, sollte die für die benutzerdefinierte Context
verwendete DrawerArrowDrawable
mit ActionBar#getThemedContext()
oder Toolbar#getContext()
ermittelt werden, um sicherzustellen, dass die korrekten Stilwerte verwendet werden. Zum Beispiel:
Um die Dinge ein wenig zu vereinfachen, ist es möglicherweise vorzuziehen, auch ActionBarDrawerToggle
abzuleiten und alles über die Toggle-Instanz zu behandeln.
Damit wird das benutzerdefinierte Ausweisprofil automatisch festgelegt, und alle Toggle-bezogenen Funktionen können über ein einzelnes Objekt verwaltet werden.
BadgeDrawerToggle
ist ein Ersatz für ActionBarDrawerToggle
und seine Konstruktoren sind genau gleich.
Tags und Links android badge android-toolbar android-navigation-drawer android-navigationview