Le risorse di sistema predefinite sono disponibili in <android-sdk>/platforms/android-<version>/data/res
. In particolare, il selettore lista è definita drawable/list_selector_background.xml
:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false"
android:drawable="@color/transparent" />
<!-- 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>
Il drawable che viene mostrato su una pressa, list_selector_background_transition
, non è un singolo colore ma due immagini 9-toppa, giallo e un bianco, con un transizione animata tra di loro.
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:drawable/list_selector_background_pressed" />
<item android:drawable="@android:drawable/list_selector_background_longpress" />
</transition>
In breve: vuoi fare riferimento a @android: drawable/list_selector_background_transition – Jonas
Quando creo il mio selettore, perché non posso fare riferimento a @android: drawable/list_selector_background_transition? – Andrew
L'ho notato anch'io. In breve, non so perché. Tuttavia, puoi creare la tua copia di list_selector_background_transition nel tuo progetto.Puoi quindi fare riferimento a quello. – Jonas