L'affichage de la liste définit un sélecteur d'ondulation personnalisé

Je suis en train d'utiliser une liste de contrôle sur Lollipop dans les conditions suivantes:

  1. Le thème est le Thème par défaut.Matériau (thème sombre).
  2. L'affichage de liste est contenue à l'intérieur de la plus grande mise en page qui a un fond blanc.
  3. La liste doivent avoir une liste déroulante qui s'affiche avec le fond blanc.

NOTE: je suis obligé d'utiliser une liste personnalisée sélecteur de couleur parce que si j'utilise un fond blanc, la matière sombre sur le thème sélecteur utilise le thème de l'colorControlHighlight couleur pour l'ondulation, qui est 40ffffff, et ne s'affiche pas.

J'ai d'abord essayé le suivant:

mise en page xml

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@android:color/white" >

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ListView
        android:id="@+id/list_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:listSelector="@drawable/list_selector" />

</LinearLayout>

list_selector xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#ff0000" >

</ripple>

Et la vue liste ligne xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    tools:ignore="UseCompoundDrawables" >

    <ImageView
        android:id="@+id/list_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/list_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

Ce que j'attends de voir, c'est lorsque je sélectionne un élément, l'élément est sélectionné avec une ondulation de la couleur #ff0000. Cependant, c'est ce que j'ai vu:

L'affichage de la liste définit un sélecteur d'ondulation personnalisé

Ce que j'espère pour est assez proche de ce comportement - mais confinée à l'intérieur de la liste sélectionnée ligne! Ce que je fais mal?

Grâce,
Zach

source d'informationauteur Zach