2016-11-14 5 views
1

Ich verwende den folgenden XML-Zeichensatz als Hintergrund für mein Recyclerview-Listenelement.Andriod Recycler Ansicht Ripple Effect funktioniert nicht

touch_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_activated="true" 
     android:drawable="@color/green_text_500"/> 
    <!-- Default, "just hangin' out" state. The base state also 
     implements the ripple effect. --> 
    <item android:drawable="@drawable/touch_selector_base" /> 
</selector> 

touch_selector_base.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
    android:color="@color/light_grey"> 
    <item android:id="@android:id/mask" android:drawable="@color/light_grey" /> 
    <item android:drawable="@color/dark_grey"/> 
</ripple> 

Im Listenpunkt ich die touch_selector.xml bin mit wie in meinem list_item_quote.xml folgt

EBENSO Ich habe eine andere XML-ziehbar touch_selector_dark.xml und touch_selector_base_dark.xml

In meinem Recycler-View-Adapter ich zwischen diesen beiden Drawables basierend auf dem Index abwechseln. Für gerade Indizes verwende ich das dunklere Zeichen und für das ungerade Zeichen verwende ich den helleren Hintergrund, um einen abwechselnden Effekt zu erzeugen. Aber das Problem ist, dass der Welleneffekt nicht funktioniert.

Hier sind die Farben:

light_grey = # 5b5b5b

dark_grey = # 212121

green_text_500 = # 37863a

+0

versuchen Sie diese Android: background = "? Attr/selectableItemBackgroundBorderless" für Ihr Adapter Eltern Layout Backround – PLP

+0

Versuchen Sie die Lösung hier http://StackOverflow.com/Questions/28636377/Ripple-Effect-over-Arecyclerview-item- containing-Bildansicht – Raghavendra

Antwort

0

verwenden diese Zeile in Ihrer recycleview Liste Layout

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

Ich denke, Ihre Ripple-Datei nicht gültig ist, können Sie dies überprüfen:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/dark_grey"/> 
     </shape> 
    </item> 
</selector> 

Sie android:foreground="@drawable/touch_selector" verwenden können, die sich allmählich ausbreitende Wirkung anzuzeigen und verwenden android:background="" auch andere ziehbar Hintergrund einzustellen.

Verwandte Themen