목록 선택기를 통해 각 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" />
도움을 주셔서 미리 감사드립니다!