Est-il possible d'appliquer un arrière-plan personnalisé à chaque élément Listview via le sélecteur de liste?
Le sélecteur par défaut spécifie @android:color/transparent
le state_focused="false"
cas, mais le fait de le remplacer par un dessin personnalisé n'affecte pas les éléments non sélectionnés. Romain Guy semble suggérer dans cette réponse que cela est possible.
J'obtiens actuellement le même effet en utilisant un arrière-plan personnalisé sur chaque vue et en le cachant lorsque l'élément est sélectionné / focalisé / quoi que ce soit pour que le sélecteur soit affiché, mais il serait plus élégant de tout définir au même endroit.
Pour référence, c'est le sélecteur que j'utilise pour essayer de faire fonctionner cela:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="false"
android:drawable="@drawable/list_item_gradient" />
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
<item android:state_focused="true" android:state_enabled="false"
android:state_pressed="true"
android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_enabled="false"
android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="true"
android:drawable="@drawable/list_selector_background_focus" />
</selector>
Et voici comment je règle le sélecteur:
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:listSelector="@drawable/list_selector_background" />
Merci d'avance pour votre aide!