Définir la couleur du texte dans Android Spinner
Je veux changer la couleur de l'élément sélectionné dans mon spinner Android (ciblage de l'API de niveau 16 et plus). J'ai essayé plusieurs solutions posté ici, y compris la création d'une mise en page personnalisée pour mon spinner articles et à l'aide d'un ColorStateList comme la couleur du texte de la propriété de la mise en page personnalisée, mais en vain. Le spinner est montré sur un fond semi-transparent - par conséquent, la mise en page personnalisée pour les articles ne fonctionne pas car il ajoute une couleur à la toupie. Actuellement mon hack solution est
if (_colorCodeSpinner.getSelectedView() != null) {
((TextView) _colorCodeSpinner.getSelectedView()).setTextColor(0xFFFFFFFF);
}
mais cela ne fonctionne que si la vue sélectionnée n'est pas nulle (ce qui est fait sur le changement d'orientation).
Je ne peux pas croire qu'il n'y a pas une solution simple pour le réglage de la couleur du texte. Il semble que quelque chose vous arrivait souvent de le faire. Même en changeant la couleur de la flèche, dont je n'par
_colorCodeSpinner.getBackground().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);
Suis-je raté quelque chose? Quel est le moyen recommandé de modifier les couleurs sur un spinner?
Comme on le voit dans l'image, la couleur du texte de l'élément sélectionné dans le spinner est noir, mais je veux le changer pour être blanc.
MODIFIER
Pour clarifier: je ne suis pas à la recherche pour certains petit morceau de code qui remplace les valeurs au moment de l'exécution (comme les deux extraits que j'ai posté dans cette question). Je suis à la recherche d'une réelle façon de le faire correctement (comme dans le fichier XML de mise en page ou par thèmes). Pour définir la couleur du texte de la propriété une fois donc je n'ai pas à le mettre à jour à chaque fois que je par exemple, sélectionnez un élément.
OriginalL'auteur Daniel | 2016-08-31
Vous devez vous connecter pour publier un commentaire.
Ce faire :
OriginalL'auteur Hugo Houyez
Cela fonctionne pour vous
OU
vous pouvez utiliser le sélecteur pour changer la couleur
créer un xml nommé my_selctor.xml
et dans votre texte un ensemble de vues de cette façon
OriginalL'auteur Aditya Vyas-Lakhan
déclarer ArrayAdapter comme ça et de le régler à votre spinner:
et la mise en page du fichier xml simple_spinner_dropdown_item.xml:
ce travail pour moi
OriginalL'auteur Axbor Axrorov
essayez le code suivant:-
XML:-
créer un autre xml pour le textview
puis dans votre activité:-
OriginalL'auteur Pawanpreet
suivre cette lien
OriginalL'auteur Priyank Prajapati
Vous pouvez l'utiliser comme ça. Cela va changer votre icône de
DropDown
menu.puis faites un
TextView
nom du modèle avecspinner_text.xml
comme ceet d'écrire ce code dans votre
MainActivity.java
classe commeOriginalL'auteur AMAN SINGH
Vous pouvez réaliser ce montage styles.xml fichier de mise en page. Pour répondre à cette question-je utiliser un nouveau projet dans Android Studio, avec minSdkVersion 16 et AppCompatSpinner.
styles.xml mise en page:
Et les ajouter à l'colors.xml fichier:
La solution a été prise à partir du lien ci-dessous. Bien qu'il soit utilisé pour la couleur spinner éléments de liste déroulante, est essentiellement la même approche.
https://stackoverflow.com/a/22207394/6514926
OriginalL'auteur NetrunnerX