Ich konnte den Hintergrund, das Logo und
die Textfarbe der Aktionsleiste mithilfe der folgenden Vorschläge anpassen: Android: Wie kann ich das ActionBar-Symbol "Startseite" so ändern, dass es nicht das App-Symbol ist?
ActionBar-
Textfarbe ActionBar-Hintergrundbild
Das letzte Stück, das ich anpassen möchte, ist das Bild der Zurück-Schaltfläche. Es ist standardmäßig grau und ich möchte, dass es weiß ist. Entweder die Farbe zu ändern, ein Zeichenelement anzugeben oder es einfach transparent zu machen (und den Chevron zu meinem benutzerdefinierten Logo hinzuzufügen), würde funktionieren. Wie gehe ich vor?
android
android-actionbar
Sunil Gowda
quelle
quelle
setDisplayHomeAsUpEnabled()
onActionBar
. Es soll ausdrücklich NICHT einfach "zurück" gehen. Dies bedeutet, dass durch Tippen auf das App-Symbol eine Hierarchie "nach oben" verschoben wird und nicht zur vorherigen Aktivität zurückgekehrt wird (ebenso wie die Schaltfläche ZURÜCK in der Systemleiste).Antworten:
Der Leistungsindikator "up" wird durch eine Zeichnung bereitgestellt, die im
homeAsUpIndicator
Attribut des Themas angegeben ist. Um es mit Ihrer eigenen benutzerdefinierten Version zu überschreiben, wäre es ungefähr so:Wenn Sie Pre-3.0 mit Ihrer Anwendung unterstützen, stellen Sie sicher, dass Sie diese Version des benutzerdefinierten Designs
values-v11
oder ähnliches einfügen.quelle
<item name="android:homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
hat bei mir nicht funktioniert, aber<item name="homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
funktioniert. Schätze, es ist Android-Version SacheNavigation Drawer
? Ich denke,ActionBarDrawerToggle
der Up-Indikator wird durch einen eigenen ersetzt, daher hat das Setzen des Stils keine Auswirkung ...Sie können es also programmgesteuert einfach ändern, indem Sie die Funktion homeAsUpIndicator () verwenden, die in Android API Level 18 und höher hinzugefügt wurde.
ActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
Wenn Sie die Support-Bibliothek verwenden
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
quelle
drawerToggle.setDrawerIndicatorEnabled(false);
bevor Sie den Indikator ändernIch habe die Frage überprüft. Hier sind die Schritte, denen ich folge. Der Quellcode wird auf GitHub gehostet: https://github.com/jiahaoliuliu/sherlockActionBarLab
Überschreiben Sie den tatsächlichen Stil für Geräte vor Version 11.
Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei styles.xml des Ordners mit den Standardwerten ein.
Beachten Sie, dass das übergeordnete Element in ein beliebiges Sherlock-Thema geändert werden kann.
Überschreiben Sie den tatsächlichen Stil für die v11 + -Geräte.
Erstellen Sie in demselben Ordner, in dem sich die Ordnerwerte befinden, einen neuen Ordner mit dem Namen values-v11. Android sucht automatisch nach dem Inhalt dieses Ordners für Geräte mit API oder höher.
Erstellen Sie eine neue Datei mit dem Namen styles.xml und fügen Sie den folgenden Code in die Datei ein:
Beachten Sie, dass der Name des Stils mit der Datei im Standardwertordner übereinstimmen muss und anstelle des Elements homeAsUpIndicator android: homeAsUpIndicator heißt.
Das Problem besteht darin, dass die Sherlock-Aktionsleiste für Geräte mit API 11 oder höher die Standard-Aktionsleiste verwendet, die mit Android geliefert wird. Der Schlüsselname lautet android: homeAsUpIndicator. Für Geräte mit API 10 oder niedriger verwendet die Sherlock Action Bar eine eigene ActionBar, die als "homeAsUpIndicator" bezeichnet wird.
Verwenden Sie das neue Thema im Manifest
Ersetzen Sie das Thema für die Anwendung / Aktivität in der AndroidManifest-Datei:
quelle
Das Ändern des Zurück-Navigationssymbols unterscheidet sich für ActionBar und Symbolleiste.
Für das ActionBar-Überschreibungsattribut
homeAsUpIndicator
:Für das Toolbar-Überschreibungsattribut
navigationIcon
:quelle
Ich habe den folgenden Code gemacht
onCreate()
und mit mir gearbeitetquelle
Wenn Sie die Symbolleiste verwenden, benötigen Sie diese Lösungen nicht. Sie müssen nur das Thema der Symbolleiste ändern
Wenn Sie eine dark.actionBar verwenden, wird Ihre Zurück-Schaltfläche weiß, andernfalls wird sie schwarz, wenn Sie ein helles Actionbar-Thema verwenden.
quelle
Fach dies:
innen
onCreate()
;quelle
Ich habe das Bild back.png in der Projektdatei menifest.xml verwendet. Es ist gut, im Projekt zu arbeiten.
quelle
Ich hatte das gleiche Problem mit der Symbolrichtung der Home-Schaltfläche der Aktionsleiste, da die Verwaltung des Symbols im Gradle Resource-Verzeichnissymbol fehlgeschlagen ist
Wie im arabischen Gradle-Ressourcenverzeichnis setzen Sie ein Symbol in x-hdpi und in der englischen Gradle-Ressource denselben Symbolnamen in einen Ordner mit unterschiedlicher Dichte wie xx-hdpi, sodass in APK zwei gleiche Symbolnamen in verschiedenen Verzeichnissen vorhanden sind, also Ihr Gerät Das dichteabhängige Symbol kann RTL oder LTR sein
quelle