Ich versuche eine durchsichtige Statusleiste zu erstellen (so dass meine Navigationsansicht HINTER der Statusleiste ist), aber ich möchte die Farbe meiner Aktionsleiste immer noch dynamisch ändern. Aus diesem Grund muss die Farbe der Statusleiste zu einer dunkleren Version meiner Aktionsleistenfarbe geändert werden.
Wenn ich meine Statusleiste transparent mache, wie viele Quellen meinen, wird meine Farbe primary_dark als Hintergrund für meine Statusleiste verwendet. Da ich jedoch die Farbe der Aktionsleiste zur Laufzeit ändern werde, muss primary_dark nicht unbedingt die dunkle Farbe meiner Aktionsleiste sein.
Wenn ich meine Statusleiste auf die Farbe der Aktionsleiste setze, ist die Transparenz verschwunden. Wenn ich meine Statusleiste auf die Farbe der Aktionsleiste setze und Transparenz hinzufüge, sieht die Statusleiste weder falsch noch richtig aus und meine überlappende Navigationsansicht ist immer noch nicht sehr "transparent" / "bunt".
Google Inbox hat drei separate Farben: Inbox (blau), Snoozed (gelb) und Done (grün).
Was kann ich tun, um dieses Verhalten zu erreichen?
Eigentlich ist es ziemlich einfach zu implementieren.
Erster Schritt - ist die Höhe von Toolbar
zu ändern:
height
in wrap_content
so sieht es für mich so aus:
%Vor% Dann überschreiben Sie Ressourcen für v19
:
Setzen Sie dann in Activity
padding
für Toolbar
:
Und eigentlich ist es so ziemlich alles. Jetzt, wenn ich die Farbe der Toolbar ändern möchte, rufe ich folgendes an:
%Vor%Das Layout der Aktivität:
%Vor%Achtung! In den Pre-Kitkat OS-Versionen blieb die Statusleiste gleich, nicht transparent.
Ich habe den Quellcode der Testanwendung in meine Dropbox hochgeladen - fühlen Sie sich frei schau es dir an .
Ich hoffe, es hilft
Tags und Links android material-design colors android-design-library navigationview