web-dev-qa-db-fra.com

Effet d'ondulation de clic sur l'élément de vue de recyclage

J'essaie d'ajouter Ripple Effect à l'élément de RecyclerView. J'ai regardé en ligne, mais je n'ai pas trouvé ce dont j'avais besoin. J'ai essayé Android:background attribut au RecyclerView lui-même et définissez-le sur "?android:selectableItemBackground" Mais cela n'a pas fonctionné.:

Ma disposition parent est comme ceci

<LinearLayout
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:padding="10dp">

    <Android.support.v7.widget.RecyclerView
        Android:id="@+id/dailyTaskList"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:clickable="true"
        Android:focusable="true"
        Android:scrollbars="vertical" />
</LinearLayout>

et le modèle d'adaptateur est illustré ci-dessous

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:custom="http://schemas.Android.com/apk/res-auto"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:orientation="vertical">

        <LinearLayout
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:orientation="vertical"
            Android:padding="5dp">

            <TextView
                Android:id="@+id/txtTitle"
                style="@style/kaho_panel_sub_heading_textview_style"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content" />

            <TextView
                Android:id="@+id/txtDate"
                style="@style/kaho_content_small_textview_style"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content" />

    </LinearLayout>
</LinearLayout>

Veuillez me donner une solution

14
Karthik Thunga

Ajout du Android:background="?attr/selectableItemBackground" en haut de la page parent de votre mise en page devrait faire l'affaire. Cependant, dans certains cas, il manque toujours l'animation, ajoutant le Android:clickable="true" le fait.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:background="?attr/selectableItemBackground"
    Android:orientation="vertical">

    <LinearLayout
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:orientation="vertical"
        Android:padding="5dp">

        <TextView
            Android:id="@+id/txtTitle"
            style="@style/kaho_panel_sub_heading_textview_style"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content" />

        <TextView
            Android:id="@+id/txtDate"
            style="@style/kaho_content_small_textview_style"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content" />

    </LinearLayout>
</LinearLayout>
41
Joaquim Ley

Dans votre parent d'élément recyclerView, ajoutez

Android:background="?android:attr/selectableItemBackground"

Comme ci-dessous:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:custom="http://schemas.Android.com/apk/res-auto"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:background="?android:attr/selectableItemBackground"
    Android:orientation="vertical">

        <LinearLayout
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:orientation="vertical"
            Android:padding="5dp">

            <TextView
                Android:id="@+id/txtTitle"
                style="@style/kaho_panel_sub_heading_textview_style"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content" />

            <TextView
                Android:id="@+id/txtDate"
                style="@style/kaho_content_small_textview_style"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content" />


    </LinearLayout>

</LinearLayout>
3
Akshay Bhat 'AB'