2015-01-22 14 views
6

So erstreckt sich mein App-Thema von AppCompat Material Light Theme mit Dark Action Bar.Styling eines Spinner, Appcompat, Material

Ich habe eine Akzentfarbe aufgetragen.

Jetzt versuche ich, einen Spinner auf einem dunklen Hintergrund zu verwenden, und wegen des Themas hat der Spinner einen dunkelgrauen Pfeil, der sich zu Akzentfarbe ändert, wenn er gedrückt wird.

Wie kann ich diesen Spinnerpfeil weiß machen, so dass er auf einem dunklen Hintergrund sichtbar ist?

Hier ist das Bild des Spinners: enter image description here

+0

Können Sie einen Screenshot hochladen? Wenn der dunkle Bereich in Java erstellt wird, können Sie in "ContextThemeWrapper" schauen. –

+0

@EugenPechanec Ich habe ein Bild des Spinner angebracht. – Mir

+0

Ich möchte, dass der rechte Pfeil, den Sie sehen, weiß ist, während die Akzentfarbe beibehalten wird. – Mir

Antwort

3

So ermöglicht die Support-Bibliothek 22.1 die Verwendung von Android: Theme-Attribut auf Ansichten. Das sollte hier helfen.

0

mit Android: Hintergrund Sie Ihre eigenen Hintergrund Ressource angeben. Ich finde den Pfeil eher unbrauchbar (Tippen auf den Drehknopf bringt das Dropdown-Menü auch ohne Pfeil). Wenn Sie also kein benutzerdefiniertes Pfeilbild zeichnen möchten, lassen Sie den Hintergrund einfach schwarz oder transparent.

3

Wenn Sie App gleiche Spinner Stil breit anwenden, dann in Ihrem values/styles.xml, außer Kraft setzt spinnerStyle mit Ihrem eigenen Stil, die von einem appcompat Typ ableitet und außer Kraft setzen android:background:

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:spinnerStyle">@style/AppSpinner</item> 
</style> 

<style name="AppSpinner" parent="Widget.AppCompat.Spinner"> 
    <item name="android:background">@drawable/your_spinner_background</item> 
</style> 

Wenn Sie eine schnelle Art und Weise brauchen Um einen Spinner-Hintergrund zu generieren, versuchen Sie android-holo-colors, wählen Sie Colored Spinner und liefern Sie Ihre Akzentfarbe.

+0

Ihre Antwort hilft mir, wenn ich mit Pre-Lollipop arbeite und ich muss einfach einen Selektor ziehbar und ersetzen Sie es in meinem Thema wie Sie erklärt, aber mit dem neuen appcompat und Lollipop Widget Akzentuierung sollte es eine andere Art und Weise zu tun. – Mir

Verwandte Themen