国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android中Item實現點擊水波紋效果

2019-12-12 00:26:22
字體:
來源:轉載
供稿:網友

前言

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

系統自帶的水波紋實現

系統自帶的方法非常方便,只需要給相應的空間設置背景,背景內容則為系統自帶的 selectableItemBackground ,這樣的話,水波紋就會在TextView所在的區域內進行繪制。

<TextViewandroid: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的顏色是控件正常狀態的背景色,ripple中的顏色是點擊時出現的顏色(會以半透明的形式展示出來)。ripple顏色的變化效果要比selector的效果更加柔和,以漸變的形式出現。

<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的作用:只能在規定范圍內顯示水波動畫,范圍邊界由mask遮罩對象指定(可以換一些比原有背景小的圖片資源,可以看出效果)。

將ripple文件設置為控件的背景色就可以了。對于沒有設置點擊事件的控件,是沒有變化效果的。需要為控件設置 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作為適配方案。截止到現在,21及以上版本已經覆蓋了90%的設備。

foreground設置

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

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

android:foreground="?attr/selectableItemBackgroundBorderless"

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

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

GitHub (本地下載)

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 余干县| 内黄县| 沙坪坝区| 科技| 和政县| 曲水县| 天气| 太仓市| 浪卡子县| 泰兴市| 湘西| 葵青区| 石家庄市| 鄂州市| 当涂县| 抚远县| 娄烦县| 黄梅县| 宝清县| 封开县| 来凤县| 吉木乃县| 浦北县| 闻喜县| 松溪县| 青川县| 微博| 乐陵市| 荆州市| 桂平市| 永德县| 陇南市| 阳泉市| 内丘县| 宝兴县| 五河县| 阳东县| 汝州市| 乾安县| 巴林右旗| 太和县|