Ich habe versucht, meine navigation drawer hintergrund immer übereinstimmen mit der action bar hintergrund-Farbe.
So, dass jedes mal, wenn das Thema Veränderungen, sowohl der hintergrund automatisch ändert.
Schaute ich in R. attr, aber habe nichts gefunden.
Den
ActionBar
- API nicht abrufen, den aktuellen hintergrundDrawable
oder Farbe.Jedoch, Sie könnte verwenden
Resources.getIdentifier
zu nennenView.findViewById
", rufen Sie dieActionBarView
sind, dann rufen SieView.getBackground
zum abrufen derDrawable
. Sogar so, das diese noch nicht geben Ihnen die Farbe. Der einzige Weg, das zu tun, wäre zu konvertieren, dieDrawable
in eineBitmap
, dann verwenden Sie irgendeine Art von color analyzer zu finden ist die dominierende Farbe.Hier ist ein Beispiel für das abrufen der
ActionBar
Drawable
.Aber es scheint, wie die einfachste Lösung wäre es, erstellen Sie Ihre eigenen attribute und wenden Sie es in Ihre Themen.
Hier ist ein Beispiel:
Benutzerdefiniertes Attribut
Initialisieren das Attribut
Dann in das layout enthält
DrawerLayout
gelten dieandroid:background
- Attribut wie dieses:Oder Sie können es mit einem
TypedArray