2016-04-07 10 views
-1

Ich habe eine Stand-alone-Toolbar und ich bin trynig mithilfe dieses Code die Hintergrundfarbe zu ändern:Bow, um programmierbare Symbolleistenfarben zu ändern?

toolbar.setBackgroundColor(); 

Aber es erwartet eine ganze Zahl, und ich habe keine Ahnung, wie eine Farbe als eine ganze Zahl zu verwenden! Ich suchte und fand, es kann geändert werden, wenn es eine Toolbar als ActionBar war.
Ich denke, es sollte auch eine Möglichkeit für eigenständige Toolbar sein ... Irgendeine Idee?

+0

Verwenden Sie '0xAARRGGBB', wenn Sie den Hexadezimalwert kennen, es ist Alpha, Rot, Grün, Blau. – Elvisjames

+0

getResources(). GetColor (R.color.colorPrimary); Versuche dies. –

+0

@Elvisjames danke für deinen Kommentar, es hat wirklich geholfen! –

Antwort

0

Wenn ich Sie wollen wissen, nicht wirklich verwechseln, wie eine ganze Zahl reperesnts ein Farbe, Android Farben haben diese Werte: Alpha, Red, Grün und Blau (ARGB) und jeder von ihnen werden als 8-Bit-Wert in Betracht gezogen, so dass Sie eine Variable mit 4x8bits erhalten Größe und int Typ in Java brauchen, ist die richtige Wahl für Sie.

Weitere Lesbarkeit für den menschlichen wir manchmal hex Zahlen für Farbdarstellung „0xAARRGGBB“ So etwas wie folgt verwenden:

//an opaque blue 
//alpha = FF 
//Red = 00 
//Green = 00 
//Blue = FF 
int color = 0xFF0000FF 

Dann können Sie Ihre gewünschte Farbe wie folgt festgelegt:

toolbar.setBackground(new ColorDrawable(color)); 

Oder dies:

toolbar.setBackgroundColor(color); 
+0

Ich bekomme es jetzt, vielen Dank. Es funktionierte! –

+0

@ eli.m93 Ich freue mich, wenn eine der geposteten Antworten hilfreich ist, bitte akzeptieren Sie es. –

0

Hier ist ein Beispiel dafür, wie die Hintergrundfarbe auf Ihre Toolbar

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.rgb(0, 0, 0))); 
0
getSupportActionBar().setBackgroundColor((Color.rgb(0, 0, 0)); 

ODER

getSupportActionBar().setBackgroundColor((Color.RED)); 
Verwandte Themen