在我的ListView中使用了字定义的Adpter,在getView函数中读取一个布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/list_item_fifty_selector"
>
<TextView
android:id="@+id/random_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:layout_marginLeft="5dip"
style="@style/player_text_style"
/>
<ImageView
android:id="@+id/random_play_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/random_play"
android:layout_centerVertical="true"
/>
</RelativeLayout>
其中list_item_fifty_selector.xml为:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/list_item_blue_fifty" />
<item android:state_focused="true" android:state_window_focused="true" android:drawable="@drawable/list_item_blue_fifty"/>
<item android:state_focused="true" android:state_window_focused="false" android:drawable="@drawable/list_item_blue_fifty" />
<item android:drawable="@drawable/list_item_white_fifty" />
</selector>
总感觉这样实现ListView点击后改变颜色怪怪的,不知道有没有其他的实现方式~~