ListViewの項目とセレクタのコードを表示してくださいできますか?私の心には、それを実装するときにいくつかの間違いがありました。ここに私のアイテムとそのセレクタの例があります。それは私のために正常に動作します:
私の実装がをどのように動作するかビデオ、:>click to open<
list_view_item.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="40dp"
android:background="@drawable/relative_selector">
<RelativeLayout
android:layout_width="300dp"
android:layout_height="100dp"
android:background="@drawable/child_selector_1"
android:clickable="true">
<RelativeLayout
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerHorizontal="true"
android:background="@drawable/child_selector_2"
android:clickable="true"/>
</RelativeLayout>
</RelativeLayout>
relative_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<inset xmlns:android="http://schemas.android.com/apk/res/android">
<shape android:shape="rectangle">
<solid android:color="@android:color/holo_blue_bright" />
</shape>
</inset>
</item>
</selector>
child_selector_1.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed state -->
<item android:state_pressed="true">
<inset xmlns:android="http://schemas.android.com/apk/res/android">
<shape android:shape="rectangle">
<solid android:color="@android:color/holo_orange_dark" />
</shape>
</inset>
</item>
<!-- focused state -->
<item android:state_focused="true">
<inset xmlns:android="http://schemas.android.com/apk/res/android">
<shape android:shape="rectangle">
<solid android:color="@android:color/holo_orange_dark" />
</shape>
</inset>
</item>
<!-- normal state -->
<item>
<inset xmlns:android="http://schemas.android.com/apk/res/android">
<shape android:shape="rectangle">
<solid android:color="@android:color/holo_red_dark" />
</shape>
</inset>
</item>
</selector>
出典
2015-06-09 10:52:43
TAC