欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中Item實現(xiàn)點擊水波紋效果

 更新時間:2018年11月28日 08:35:55   作者:lzkFrank  
這篇文章主要給大家介紹了關(guān)于Android中Item實現(xiàn)點擊水波紋效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧

前言

水波紋效果大致上可以分為兩類,一類是有界水波紋,而另一類是無界水波紋,較為廣泛使用的是有界水波紋。

系統(tǒng)自帶的水波紋實現(xiàn)

系統(tǒng)自帶的方法非常方便,只需要給相應(yīng)的空間設(shè)置背景,背景內(nèi)容則為系統(tǒng)自帶的 selectableItemBackground ,這樣的話,水波紋就會在TextView所在的區(qū)域內(nèi)進行繪制。

<TextView
android:background="?android:attr/selectableItemBackground"
... />

先上效果圖

ripple的使用(需要V21以上)

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
 android:color="@color/dark_blue">
 <item android:drawable="@color/blue"/>
</ripple>

其中item的顏色是控件正常狀態(tài)的背景色,ripple中的顏色是點擊時出現(xiàn)的顏色(會以半透明的形式展示出來)。ripple顏色的變化效果要比selector的效果更加柔和,以漸變的形式出現(xiàn)。

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

mask的作用:只能在規(guī)定范圍內(nèi)顯示水波動畫,范圍邊界由mask遮罩對象指定(可以換一些比原有背景小的圖片資源,可以看出效果)。

將ripple文件設(shè)置為控件的背景色就可以了。對于沒有設(shè)置點擊事件的控件,是沒有變化效果的。需要為控件設(shè)置 android:clickable="true"

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/main_item_tv"
 android:layout_width="match_parent"
 android:layout_height="50dp"
 android:clickable="true"
 android:background="@drawable/item_blue_selector"
 android:gravity="center"
 android:textSize="17sp" />

對于低版本來說,我還是選擇selector作為適配方案。截止到現(xiàn)在,21及以上版本已經(jīng)覆蓋了90%的設(shè)備。

foreground設(shè)置

現(xiàn)在的點擊水波紋效果只有在抬起手指的時候才能看到,不符合一些項目的需求。

其實在控件除了設(shè)置background,還可以設(shè)置foreground。

android:foreground="?attr/selectableItemBackgroundBorderless"

在控件上加上這一句就可以看到你們想要的效果了。selectableItemBackgroundBorderless是系統(tǒng)提供的可以一個半透明灰色水波效果,在按住控件時,即可展示。(如果不需要提前變藍的效果,設(shè)置純藍色背景即可。)

我有一壺酒,足以慰風塵。盡傾江海里,贈飲天下人。

GitHub (本地下載)

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論