Android RecyclerView 實現item點擊水波紋動畫效果

Recyclerview的item如果如果加上水波紋動畫的點擊效果會使列表的ui體驗效果提升很多,今天來給大家介紹一下如何給Recyclerivew的item view添加這樣的動畫效果。

在res目錄的drawable目錄和drawable-v21下分別建立linerlayout_water_selector.xml文件。

drawable目錄下的linerlayout_water_selector.xml文件代碼:



<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

? ? <item android:drawable="@color/text_Grey" android:state_pressed="true"/>

? ? <item android:drawable="@color/text_Grey" android:state_focused="true"/>

? ? <item android:drawable="@color/colorWhite"/>

</selector>


drawable-v21目錄下的linerlayout_water_selector.xml文件代碼:


<?xml version="1.0" encoding="utf-8"?>

<ripple xmlns:android="http://schemas.android.com/apk/res/android"

? ? android:color="@color/text_Grey">

? ? <item>

? ? ? ? <shape xmlns:android="http://schemas.android.com/apk/res/android">

? ? ? ? ? ? <corners android:radius="1dp" />

? ? ? ? ? ? <solid android:color="@color/colorWhite" />

? ? ? ? </shape>

? ? </item>

</ripple>


相關color:


? <color name="text_Grey">#c1c1c2</color>

? <color name="colorWhite">#ffffff</color>


在recylcerview的item布局中添加引用該selector文件:


android:background="@drawable/linerlayout_water_selector"

? ? android:clickable="true"

? ? android:focusable="true"



然后點擊運行基本就可以實現想要的水波紋效果了。

如果點擊后沒有出現預期的效果應該做如下檢查:

1.item布局中引用這個水波紋效果selector文件的布局是否確實添加了這兩句代碼:

? ? android:clickable="true"

? ? android:focusable="true"




2.引用這個水波紋效果selector文件的布局中是否嵌套了別的大布局,然后這個大的子布局是否設置了 android:background=”@color/white” 屬性,如果有的話去掉子布局的這個屬性,然后外層的父布局的水波紋點擊效果才能出來,如下圖我碰到的異常造成原因截圖:


?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容