Saltar al contenido

¿Cómo obtener comentarios táctiles de RecyclerView?

Nuestro equipo de redactores ha estado mucho tiempo investigando la respuesta a tus preguntas, te brindamos la respuesta y nuestro deseo es resultarte de mucha ayuda.

Solución:

Tienes que establecer una ondulación dibujable como fondo:

android:background="@drawable/ripple"

ondulación.xml:



Es posible que deba enmascarar el dibujable:



    
        
            
        
    

Esto creará una simple ondulación gris al tacto (aquí hay una guía si necesita más instrucciones).

RippleDrawable se agregó en SDK versión 21 (Lollipop). El uso de Ripple dibujable en pre-lollipop bloqueará la aplicación. Utilice un selector simple en dispositivos pre-lollipop o utilice bibliotecas que recrean el efecto. (GitHub)

ACTUALIZAR: Puede obtener el efecto dominó fácilmente con este código:

android:background="?attr/selectableItemBackground"

o si no quieres la máscara rectangular:

android:background="?attr/selectableItemBackgroundBorderless"

Esto es compatible con dispositivos pre-lollipop y usará un selector simple. Creo que esto creará ondas claras en aplicaciones con un tema oscuro y viceversa, por lo que si desea una ondulación de color personalizada, deberá crear una ondulación dibujable.

Además de la respuesta de @Longi: si desea que el elemento de RecyclerViews tenga su propio fondo y, al mismo tiempo, tenga el efecto dominó, puede hacer lo que se muestra en el siguiente ejemplo:
reciclador_view_item.xml:

 

    
       ...
    

En este ejemplo @drawable/recyclerview_item_background es un png de nueve parches, pero puede usar cualquier fondo aquí.

En mi caso cuando usé android:background="?attr/selectableItemBackground"el diseño lineal raíz del elemento RecyclerView tenía el efecto dominó, pero el fondo del diseño lineal secundario se superponía, por lo que ocultaba el efecto dominó.

Comentarios y puntuaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.