Modifier la Sélection dans une liste de l'Orange au Vert
Comment dois-je faire ce par l'élément de liste sélectionné.
J'ai essayé d'ajouter ce point à android:background
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:state_pressed="false"
android:drawable="@color/android_green" />
<item android:state_focused="true"
android:state_pressed="true"
android:drawable="@color/black_alpha" />
<item android:state_focused="false"
android:state_pressed="true"
android:drawable="@color/black_alpha" />
<item android:drawable="@color/white_alpha" />
</selector>
mais il ne fonctionne pas, ça change de l'ensemble de la ListView.
Ne fonctionne toujours pas, voici ce que j'ai jusqu'à présent
::listview_background
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@color/black_alpha" />
<item android:drawable="@color/white_alpha" />
</selector>
::Mon avis, c'est à l'aide de la
<ListView android:id="@+id/list" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_below="@+id/round"
android:listSelector="@drawable/listview_background">
</ListView>
Le problème est que le black_alpha appliquera la l'ensemble de la liste, et pas seulement l'élément de liste sélectionné
- Même solution, mais avec le plein code source est fourni sur ce site http://android-codes-examples.blogspot.com/2011/03/customized-listview-items-selection.html ici, il est mentionné clairement sur où donner le xml comme arrière-plan dans la liste, de sorte que nous pouvons facilement grap il
Vous devez vous connecter pour publier un commentaire.
Voici un bon article sur la façon d'utiliser les sélecteurs avec des listes.
Au lieu de procéder à la
android:background
de la liste, je crois que vous souhaitez définirandroid:listSelector
comme indiqué ci-dessous:Jax, vous avez dit que:
J'ai eu le même problème. Après avoir joué avec lui pendant un moment, j'ai été capable de le faire pour cesser d'appliquer la couleur sur l'ensemble de la liste à l'aide d'un 3x3 png image de la couleur que je voulais, au lieu d'appliquer une couleur. Donc, pour quelque étrange raison, si vous utilisez une couleur que vous obtenez le bizarre comportement, lorsque vous utilisez un png, il fonctionne très bien. :S
Donc, c'est une façon de les contourner.
-----Une autre façon----------
J'ai trouvé les meilleurs résultats lorsque j'ai mis la liste du sélecteur de ne pas avoir d'états comme ceci:
res/drawable/list_selector.xml
Puis-je prendre soin de tous les etats de l'arrière-plan de l'élément de la liste. PAS dans le sélecteur. J'ai découvert que j'avais plus le contrôle de cette façon.
res/color/list_item_bg.xml
Puis ici, c'est mon élément de la liste:
res/layout/simple_list_item.xml
J'ai également été confronté à votre problème où le changement de couleur s'applique à l'ensemble de la liste.
Mais maintenant son travail pour moi aujourd'hui:
Ma page principale contenant la liste (remarqué que je n'appliquent pas la listselector ici):
Plutôt appliqué le listselector de getView, comme son dire cette ligne particulière (convertView) l'utilisation de la listselector.xml dans drawable pliable lors de ses changements d'état, par exemple, pressé, concentrée...:
Et enfin mon listselector.xml:
C'est ce que le code ci-dessus n':
Tous les bulletins de participation lors du premier chargement sont vert clair.
Faire défiler vers le haut et vers le bas à l'aide du curseur faits saillants de l'entrée sélectionnée à l'orange.
En appuyant sur une ligne se transforme en vert foncé.
Comme bigstones mentionné dans un commentaire, une solution est d'utiliser une forme au lieu d'une couleur (j'avais aussi l'ensemble de la liste en surbrillance). Voici une solution complète:
ajouter ces 2 attributs à la listview:
ajouter my_list_selector.xml pour drawable dossier:
Maintenant les éléments de la liste doivent montrer une semi-transparent vert superposition sur l'état activé.
J'ai fait face à la même question, et puis j'ai juste besoin d'une simple ligne de mon point de vue xml.
Vérifier ce post: Ce post pourrait aider