liste élément d'arrière-plan de changement de couleur
Je suis en train de travailler sur une application android. J'ai créé une liste en utilisant
setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arrayname));
getListView().setTextFilterEnabled(true);
Maintenant, je veux changer l'élément sélectionné de la couleur. J'ai pu changer l'arrière-plan de l'élément sélectionné en plaçant
listviewobject.getChildAt(position).setBackgroundColor(Color.BLACK);
dans onListItemClick()
ce code est en train de changer la couleur d'arrière-plan, mais si je sélectionne tout autre élément de la liste puis aussi précédemment cliqué sur un élément de liste de est de couleur rouge.J'ai donc changer la encore cliqué listitem de la couleur par
l.getChildAt(prevpos).setBackgroundColor(Color.BLACK);
maintenant, le problème est que si je change le fond d'préalablement cliqué listitems de couleur noire.Alors je ne peux pas voir le texte sur la listitem.I I cliquez sur nouveau, puis seulement je peux voir le texte sur ce point.Si son look weired.merci de m'aider les amis
- quelle est la couleur de fond par défaut de votre liste?
Vous devez vous connecter pour publier un commentaire.
Après être passé par beaucoup de posts et blogs que j'ai trouvé cette solution qui fonctionne pour moi...
déclarer ligne variable globale
Bien à l'aide de ce dans les propriétés de votre affichage de la liste mught aider:
Il sera automatiquement sélectionné drawable comme arrière-plan de l'élément sélectionné. Espérons que cela fonctionne pour vous et drawable peut être votre propre choix de couleur.
Explication: Ajouter une image de bande de votre un drawable dossier/s et de définir cette image dans listSelector de l'attribut de votre liste. Maintenant, vous permettra de naviguer à travers votre vue de la liste, l'affichage de la liste de l'arrière-plan sera de la couleur de l'image de console de jeu au lieu d'android natif de couleur. J'espère que vous obtenez maintenant...:-)
Je ce Ce qui se passe parce que vous avez mis de la couleur de texte en noir et de votre réglage de la couleur d'arrière-plan aussi en noir, c'est pourquoi vous ne pouvez pas voir la différence. pour le réglage de la couleur d'arrière-plan vous pouvez utiliser la ligne suivante.
vue.setBackgroundColor(Color.JAUNE);
utiliser différentes couleurs que la couleur du texte.
Par défaut, le fond est noir. Si vous avez personnalisé votre listview ensuite, lorsque vous faites défiler le noir. Ainsi, lorsque vous définissez votre vue de la liste arrière-plan en cache de la couleur à la couleur dont vous avez besoin en tant que ci-dessous:
Ce que vous pouvez faire, c'est plutôt de l'aide
.setBackgroundColor()
avec une valeur de Couleur, créer un La Couleur De L'Etat Liste et de l'attribuer avec.setBackgroundResource()
. De cette façon, vous pouvez définir les différents états de votre élément de la liste peut devenir, selon le point de l'état actuel.