background ripple effect em RecyclerView customizado
Autor: Neto Lobo | Publicado: 2017-01-12T17:01:00-03:00

Fala galera, os posts estão raros por aqui, mas vamos que vamos, atualmente tive que trabalhar com um RecyclerView customizado e nele o background ripple effect que dá o efeito feedback visual ao usuário quando ele toca no item não estava funcionando, por sorte achei a resposta no StackOverflow e vou compartilhar aqui com vocês. É bem simples a solução, no seu layout que representa o seu item do ReciclerView (o layout que você chama no seu adapter), na raiz dele adicione as seguintes linhas:

<!-- HTML generated using hilite.me -->

android:background="?android:attr/selectableItemBackground"
              android:clickable="true"
              android:focusable="true"




Meu arquivo xml completo com a alteração feita na raiz (LinearLayout)

&lt;?xml version="1.0" encoding="utf-8"?&gt;

&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="vertical"
              android:padding="8dp"
              android:background="?android:attr/selectableItemBackground"
              android:clickable="true"
              android:focusable="true"&gt;

        &lt;TextView
            android:id="@+id/tvUserName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=""
            android:textSize="16sp"/&gt;



        &lt;LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"&gt;

            &lt;TextView
                android:id="@+id/textView7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/em"
                android:textColor="@android:color/darker_gray"
                android:textSize="12sp"/&gt;


            &lt;TextView
                android:id="@+id/tvData"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=""
                android:textColor="@android:color/darker_gray"
                android:textSize="10sp"/&gt;



        &lt;/LinearLayout&gt;

        &lt;TextView
            android:text=""
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/tvMensagem"
            android:textAppearance="@style/TextAppearance.AppCompat.Medium"
            android:textStyle="normal|bold"
            android:paddingBottom="16dp"
            android:paddingTop="16dp"/&gt;

        &lt;LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"&gt;

            &lt;TextView
                android:id="@+id/tvNumeroCompartilhamentos"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=""
                android:textColor="@android:color/darker_gray"
                android:layout_marginRight="4dp"/&gt;

            &lt;TextView
                android:id="@+id/tvCompartilhamento"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@android:color/darker_gray"
                tools:ignore="HardcodedText"/&gt;



        &lt;/LinearLayout&gt;



    &lt;/LinearLayout&gt;





Bom é só isso, só executar o seu projeto e ver o resultado, qualquer dúvida é só ir nos comentários.