Можно выбрать селектор списка StateListDrawable
& mdash; он содержит ссылку на несколько элементов рисования для каждого состояния, в котором список может быть, например, выбран, сфокусирован, нажат, отключен ...
Несмотря на то, что вы можете извлечь рисунок с помощью getSelector()
, я не верю, что вы можете извлечь конкретный Drawable
из StateListDrawable
, и при этом не представляется возможным программно получить цвет непосредственно из ColorDrawable
в любом случае .
Что касается настройки цвета, вам нужен StateListDrawable
, как описано выше. Вы можете установить это в своем списке, используя атрибут android:listSelector
, определяющий рисование в XML следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:state_focused="true"
android:drawable="@drawable/item_disabled" />
<item android:state_pressed="true"
android:drawable="@drawable/item_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/item_focused" />
</selector>