เป็นไปได้ไหมที่จะใช้พื้นหลังแบบกำหนดเองกับรายการ Listview แต่ละรายการผ่านตัวเลือกรายการ
ตัวเลือกเริ่มต้นระบุ@android:color/transparent
สำหรับstate_focused="false"
กรณีและปัญหา แต่การเปลี่ยนค่านี้เป็นแบบวาดเองบางรายการจะไม่มีผลกับรายการที่ไม่ได้เลือก Romain Guy ดูเหมือนจะแนะนำในคำตอบนี้ว่าเป็นไปได้
ขณะนี้ฉันได้รับผลกระทบเดียวกันโดยใช้พื้นหลังที่กำหนดเองในแต่ละมุมมองและซ่อนไว้เมื่อรายการถูกเลือก / โฟกัส / อะไรก็ตามที่แสดงตัวเลือก แต่จะดีกว่าหากกำหนดสิ่งนี้ทั้งหมดไว้ในที่เดียว
สำหรับการอ้างอิงนี่คือตัวเลือกที่ฉันใช้เพื่อลองใช้งาน:
<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>
และนี่คือวิธีที่ฉันตั้งค่าตัวเลือก:
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:listSelector="@drawable/list_selector_background" />
ขอบคุณล่วงหน้าสำหรับความช่วยเหลือ!