web-dev-qa-db-fra.com

Styler un Spinner, appcompat, matériel

Donc, mon thème d'application s'étend du thème Material Light d'AppCompat avec Dark Action Bar.

J'ai appliqué une couleur d'accent.

Maintenant, j'essaie d'utiliser un spinner sur un fond sombre et, à cause du thème, le spinner a une flèche gris foncé qui change de couleur lorsque vous appuyez dessus.

Comment puis-je rendre la flèche de cette roulette blanche afin qu'elle soit visible sur un fond sombre?

Voici l'image du Spinner: enter image description here

7
Mir

La bibliothèque de support 22.1 permet donc d’utiliser Android: attribut de thème sur les vues. Cela devrait aider ici.

3
Mir

Si vous souhaitez appliquer la même application de style spinner au large, dans votre values/styles.xml, remplacez spinnerStyle par votre style personnalisé, qui dérive d'un type appcompat et remplacez 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>

Si vous avez besoin d’un moyen rapide de générer un fond spinner, essayez Android-holo-colors , choisissez Colored Spinner et fournissez votre couleur d’accent.

3
hidro

avec Android: background, vous pouvez spécifier votre propre ressource d'arrière-plan. Je trouve la flèche plutôt inutile (taper sur le bouton fléché amène le menu déroulant même sans flèche), donc si vous ne voulez pas dessiner une image de flèche personnalisée, laissez simplement le fond noir ou transparent.

0
cyanide