1. 程式人生 > >Android RecyclerView 實現item點選水波紋動畫效果

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” 屬性,如果有的話去掉子佈局的這個屬性,然後外層的父佈局的水波紋點選效果才能出來,如下圖我碰到的異常造成原因截圖:
這裡寫圖片描述

把子佈局的    android:background="@color/white" 註釋掉即可

目前就寫到這裡了,後期有新的方法或者經驗後再繼續新增完善該博文會!

相關推薦

Android RecyclerView 實現item波紋動畫效果

Recyclerview的item如果如果加上水波紋動畫的點選效果會使列表的ui體驗效果提升很多,今天來給大家介紹一下如何給Recyclerivew的item view新增這樣的動畫效果。 在res目錄的drawable目錄和drawable-v21下分別建立

Android自定義控制元件:Android L控制元件波紋實現(原始碼 + Demo)

Demo: 一、控制元件的流程: 大致上如下,實際是有些偏差的大家可以自己畫畫 RevealLayout()--->init()--->onMeasure()--->onLayout()--->onDraw()--->dispat

Item波紋效果

先上效果圖 ripple的使用(需要V21以上) <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/dark_blue"> <

RecyclerView實現Item事件方法三/四

此係列文章隔上次釋出有一段時間,原因就是懶(其實是比較忙),今天來說下剩下的兩種方法,如何優雅的實現 對於方法三我這裡就不說了,因為有很多文章都有說明,那就是基於RecyclerView.On

Android 波紋擴散效果( Ripple Effect )

<span style="font-family: Arial, Helvetica, sans-serif;"><pre style="font-family: 宋體; font-size: 9pt; background-color: rgb(255,

RecyclerView實現Item事件方法二

《RecyclerView實現Item點選事件方法一》上篇文章中我們通過一種方式實現了條目的點選事件,今天我們用另外一種方式來實現RecyclerView的條目點選事件來彌補方法一中所提到的缺陷 利用Adapter來實現 adapter code

Android 實現所有View的波紋效果

點選水波紋效果,是安卓5.0以上的一個新特技。 一開始,我只會在普通的Button上新增這個效果。 利用新建主題的方法: <style name="MyButton" parent="Theme.AppCompat.Light"> <item n

Android 中Layout實現波紋特效

Android5.0以後TextView,Button、TabLayout等控制元件預設都有點選水波紋效果,那佈局類LinearLayout、RelativeLayout、TableLayout、FrameLayout、AbsoluteLayou如何實現 A:

詳解Android中回撥機制與RecyclerViewItem事件實現

總是看書上寫著回調回調,以為就是函式呼叫換了個名字,尤其是看了Button的點選事件實現後,覺得不就是觸發機制。 A事件發生->後臺處理邏輯->告訴前臺怎麼做->結束。 Android常見button點選事件: loginB

RecyclerViewItem事件,增加刪除Item瀑布流動畫效果,長按拖動ItemRecyclerView複雜佈局、實現新聞頻道選擇器

RecyclerView的Item點選事件的實現,增加和刪除Item使用瀑布流動畫效果,長按拖動Item,RecyclerView複雜佈局的實現使用、RecyclerView去實現今日頭條新聞頻道選擇器。 使用ItemTouchHelper實現Item的拖動交換,由於Recy

Android 使用jQuery實現item顯示或隱藏的特效

效果圖 分析 上圖中的功能在很多APP上都可能用到過,例如app的幫助介面,告訴使用者如何使用APP 一般的實現方式都是通過ListView來實現的,實際上此類需求非常簡單,完全可以用WebView載入HTML來實現 抽屜樣式的顯示隱藏特效可以使

RecyclerViewItem事件實現總結

自從開始使用RecyclerView代替ListView,會發現有很多地方需要學習。前一段時間的學習記錄有: 實現 RecyclerView的Item的點選事件有三種方式: 在建立 ItemView時新增點選監聽 當 ItemView attach Recycle

Android RecyclerView (三)初學,為RecyclerView新增Item監聽。

前兩篇文章講述瞭如何基本的使用RecyclerView呈現出自己想要的效果,但是我好奇的是,為什麼RecyclerView沒有.SetOnClick之類的方法呢,RecyclerView不得不承認,它是一款很強大的軟體,僅僅幾行程式碼就可以切換出自己想要的佈局,

基於JS+Canves實現波紋功能

近來看到個不錯的按鈕點選效果,當點選時產生一次水波漣漪效果,挺好玩的,於是簡單的實現了下(沒考慮低版本瀏覽器相容問題)先看看效果吧,如下圖(錄製gif軟體有點渣,看起來卡卡的...)這種效果可以由元素內巢狀canves實現,也可以由css3實現。Canves實現網上摘了一份c

實現RecyclerViewitem事件的內部監聽器

程式碼如下: public class myViewholder extends RecyclerView.ViewHolder implements View.OnClickListener{ private TextView tv_bookname;

android 5.0以上版本控制元件 波紋效果

android api21及以上引入了控制元件點選的水波紋效果 1.可以直接給控制元件設定 android:background="?android:attr/selectableItemBackground"(有邊界效果) 或者  android:backgro

Kotlin系列二(Kotlin實現RecyclerViewitem處理)

上一篇分享了kotlin基礎語法,這一篇分享kotlin在Android開發中的實際應用,希望對正在學習的小夥伴有幫助。 新增的依賴: /*RecyclerView*/ implementation 'com.android.support:recyclervi

RecyclerView條目item事件---放大

Adapter–建立介面 //建立介面 public interface RecyInterface{ void vh(Viewholder viewholder); } //宣告介面名 private RecyInterface mRec

CardView定義陰影、波紋、圓角

一般使用在recyclerView中,給每個Item項新增需要的效果,例如陰影,圓角,還有點選的水波紋等。 寫法就是新增V7包中的CardView作為根佈局即可: 效果如下: 全部程式碼如下,主要就是設定CardView的屬性: <?xml version=

按鈕波紋效果

水波紋的出現給我們的錯覺是直接將波紋繪製在button上面的,但是這樣能做到嗎?首先button自己有background和src,如果把半透明的水波紋當作background或者src繪製到button上面,肯定是會損失button原有的樣式的。可能有朋友猜想