これは私を夢中にさせています:
子が選択されたときに子の背景を変更したい ListView があります。リストアイテムにはデフォルトの背景がありますが、アイテムに背景がある場合、選択したアイテムの色は変わりません...
これを少し視覚化してみましょう。
A background color を ListView の子に設定すると、次のようになります。
これは、ListView の子のコードです。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/list_selector_normal">
<TextView android:id="@+id/title_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dp" />
<TextView android:id="@+id/description_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
しかし、メインレイアウトのlistViewにいくつかのセレクターを設定すると
android:listSelector="@drawable/list_selector"
選択したリスト項目の色が変わらない...
しかし、リスト項目 (最初のコード ブロックの 5 行目) から背景を削除すると、セレクターは機能しますが、背景はなくなります。
セレクター xml コード:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true"
android:drawable="@drawable/list_selector_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/list_selector_focussed" /> <!-- focused -->
<item android:state_hovered="true"
android:drawable="@color/blue" /> <!-- hovered -->
<item android:drawable="@color/blue" /> <!-- default -->
</selector>
背景(最初の画像)を保持し、選択したアイテム(2番目の画像)の色を変更できる方法はありますか(あるはずです)?