La couleur du texte d'un fermé spinner
Je comprends que le fermé spinner est en fait un View
, je pense. Mais je devine que c'est un TextView
il ya un endroit pour afficher le texte. Comment puis-je accéder à cette TextView
afin que je puisse changer la textcolor?
EDIT: j'ai besoin de changer cela par programmation à la volée, pas dans le XML.
TextView v = (TextView) getView(mySpinner);
v.setTextColor(.....
Cela ne marche pas...
Merci!
array_typ=new String[5];
array_typ[0]="Pressure";
array_typ[1]="Level";
array_typ[2]="Overage";
array_typ[3]="Under";
array_typ[4]="Taken";
adaptertyp = new ArrayAdapter<Object>(this,R.layout.simple_spinner_item, array_typ);
typ.setAdapter(adaptertyp);
- Ne pourrait-on pas définir la couleur dans son fichier XML?
Vous devez vous connecter pour publier un commentaire.
Oui. Plus précisément, c'est ce que vous avez dit à votre
SpinnerAdapter
à créer.Cela dépendrait de ce que vous avez dit à votre
SpinnerAdapter
à créer.Idéalement, vous n'avez pas -- vous donner la bonne couleur en premier lieu, par ce que vous avez dit à votre
SpinnerAdapter
à créer. Si la couleur varie, remplacergetView()
dans votreSpinnerAdapter
et changer la couleur à ce point.Dans un pincement, vous pouvez essayer d'appeler
getSelectedView()
pour obtenir le courantView
être illustré par la fermeture de l'Spinner
, mais quels que soient les changements que vous apportez ici, peut être éliminé de l'utilisateur sur le côté de la sélection, et l'autre de couleur peut revenir plus tard si le plus tôtView
sont recyclés.R.layout.simple_spinner_item
de ressources et de changer la couleur là.getView()
et de personnaliser la couleur de votreTextView
dans le cadre de ce processus. À la fin de ce commentaire est un lien vers un extrait gratuit de l'un de mes livres qui traite de ce processus. Il le fait dans le contexte deListView
, mais le même concept tiendra ici. commonsware.com/Android/excerpt.pdfPour modifier la couleur du texte pour créer un nouveau fichier xml dans votre res/layout dossier (par exemple my_spinner_text.xml). Ajouter un texte en vue de le nouveau fichier xml et de modifier la façon dont vous voulez:
Créer un ArrayAdapter qui utilise le nouveau TextView et mis à votre spinner:
Vous pouvez changer la couleur du texte ou pouvez accéder à la textview dans setOnItemSelectedListener événement,
ArrayAdapter
et dominantegetDropDownView()
.de le faire par programmation, vous devez étendre la classe d'adaptateur, quelque chose comme:
setBackgroundColor()
, mais pas desetTextColor()
Pour le Changement Textcolor de fermé Spinner j'ai à faire dans cette façon de travailler