列表选择器drawable是一个StateListDrawable
-它包含对列表可以处于每种状态的多个drawable的引用,例如选中,集中,按下,禁用...
虽然你可以使用检索绘制的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>