列表选择可绘制的是StateListDrawable
—它包含引用到多个可绘制每个列表可以像选择,有重点,按下状态,残疾人......
虽然你可以使用绘制检索getSelector()
,我不相信你可以从StateListDrawable
中检索到一个具体的Drawable
,看来也不可能通过编程从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>
这可能有帮助(有问题和解决方案):http://stackoverflow.com/questions/2065430/fixed-android-detecting-focus-pressed-color –
似乎有一个Android 2中的错误,导致影响整个背景的颜色 - 检查我的答案,链接到另一个问题上提供的解决方法。 –