Apakah mungkin untuk menerapkan latar belakang khusus ke setiap item Listview melalui pemilih daftar?
Path menetapkan pemilih standar @android:color/transparent
untuk state_focused="false"
kasus, tetapi mengubah ini untuk beberapa ditarik kustom tidak mempengaruhi item yang tidak dipilih. Romain Guy sepertinya menyarankan dalam jawaban ini bahwa ini mungkin.
Saat ini saya mencapai pengaruh yang sama dengan menggunakan latar belakang khusus pada setiap tampilan dan menyembunyikannya ketika item dipilih / difokuskan / apa pun sehingga selektornya ditampilkan, tetapi akan lebih elegan jika semua ini ditentukan di satu tempat.
Sebagai referensi, ini adalah pemilih yang saya gunakan untuk mencoba dan membuat ini berfungsi:
<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>
Dan inilah cara saya menyetel pemilih:
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:listSelector="@drawable/list_selector_background" />
Terima kasih sebelumnya atas bantuannya!