2016-11-14 14 views
1

Я использую следующий xml, который можно использовать в качестве фона элемента списка recyclerview.Andriod Recycler View Ripple Effect не работает

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> 

В элементе списка я использую touch_selector.xml следующим образом в моем list_item_quote.xml

<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="86dp" 
    android:gravity="center_vertical" 
    android:orientation="horizontal" 
    android:paddingLeft="16dp" 
    android:paddingRight="16dp" 
    android:clickable="true" 
    android:focusable="true" 
    android:background="@drawable/touch_selector" 
    > 
    // layout 
</LinearLayout> 

КАК И У меня есть другой XML Drawable touch_selector_dark.xml и touch_selector_base_dark.xml

В моем ресайклере-View-адаптере я чередоваться между этими двумя вводимыми коэффициентом на основе индекса. Для четных индексов я использую darker drawable и для нечетного индекса я использую более светлый фон для создания переменного эффекта. Но проблема в том, что эффект пульсации не работает.

Вот цвета:

light_grey = # 5b5b5b

dark_grey = # 212121

green_text_500 = # 37863a

+0

попробуйте этот андроид: background = "? Attr/selectableItemBackgroundBorderless" для вашего адаптера родительский макет backround – PLP

+0

Попробуйте решение здесь http://stackoverflow.com/questions/28636377/ripple-effect-over-a-recyclerview-item- содержащий-ImageView – Raghavendra

ответ

0

использовать эту строку в списке recycleview макет

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

Я думаю, что ваш файл пульсация не является действительным, вы можете проверить это:

<?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> 

Вы можете использовать android:foreground="@drawable/touch_selector" для отображения волнового эффекта, а также использовать android:background="" установить любой другой рисуют фон.