直接上代码:
首先,给listview的item设置点选时颜色变化的xml文件,和设置button的按下、弹起颜色的xml文件相同:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" ><color android:color="#FBECAE" />
</item>
<item android:state_focused="true" ><color android:color="#FBECAE" />
</item>
<item android:state_pressed="true" ><color android:color="#FBECAE" />
</item>
<item><color android:color="#fff"></color></item>
</selector>
然后,是在listview的setOnItemClickListener回调中的代码,只要2句话:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//设置这个两个状态即可,不需要遍历元素设置backgroud
arg1.setSelected(true);
arg1.setPressed(true);
}
});
大功告成!