为 ListView 设置选中状态,需要经过如下几个步骤:
- 设置 ListView 的
android:choiceMode="singleChoice"
- 设置 ListView 的
android:listSelector="@drawable/itemSelected"
- 设置 ListView 中的 TextView 的字体颜色,这里需要注意一点,使用 selector 设置TextView的字体颜色时,TextView 的选中状态设置应该为
<item android:state_activated="true" android:color="#ffffff"/>
,而不是android:state_selected
.
设置ListView 选中项背景色的 itemSelected.xml
<?xml version="1.0" encoding="utf-8" ?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#3399CC"/>
</shape>
设置TextView 文本颜色的 listItem.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:color="#ffffff"/>
<item android:color="#333333"/>
<item android:state_pressed="true" android:color="#ffffff"/>
</selector>
效果图如下: