最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android5.0中多種水波紋效果的實(shí)現(xiàn)代碼

 更新時(shí)間:2018年05月16日 16:06:51   作者:_江南一點(diǎn)雨  
這篇文章主要介紹了Android5.0中多種水波紋效果的實(shí)現(xiàn)代碼,水波紋效果大致上可以分為兩種,一種是有界的,一種無界,一起跟隨小編過來看看吧

水波紋效果已經(jīng)不是什么稀罕的東西了,用過5.0新控件的小伙伴都知道這個效果,可是如果使用一個TextView或者Button或者其它普通控件的話,你是否知道如何給它設(shè)置水波紋效果呢?OK,我們今天就來看看這個水波紋效果的實(shí)現(xiàn)。水波紋效果的實(shí)現(xiàn)有系統(tǒng)自帶屬性可以實(shí)現(xiàn),我們也可以自定義實(shí)現(xiàn)效果。

1.系統(tǒng)自帶水波紋實(shí)現(xiàn)方式 有界水波紋

水波紋效果大致上可以分為兩種,一種是有界的,一種無界,我們先來看看有界水波紋效果:

效果:

代碼:

<TextView 
 android:layout_width="match_parent" 
 android:layout_height="56dp" 
 android:layout_centerInParent="true" 
 android:layout_marginTop="36dp" 
 android:background="?android:attr/selectableItemBackground" 
 android:clickable="true" 
 android:gravity="center" 
 android:text="Hello World!"/> 

只需要給TextView設(shè)置背景即可,背景內(nèi)容就為系統(tǒng)自帶的selecttableItemBackground。這種是有界水波紋,就是水波紋會在TextView所在區(qū)域進(jìn)行繪制。

無界水波紋

代碼:

<TextView 
 android:layout_width="match_parent" 
 android:layout_height="56dp" 
 android:layout_centerInParent="true" 
 android:layout_marginTop="36dp" 
 android:background="?android:attr/selectableItemBackgroundBorderless" 
 android:clickable="true" 
 android:gravity="center" 
 android:text="Hello World!"/> 

所謂的無界并非完全無界,而是以控件寬高中最大的數(shù)值作為水波紋效果所在正方形的邊界進(jìn)行繪制。OK,這兩種都是系統(tǒng)自帶的水波紋效果,如果我們想要自定義又該怎么做呢?

2.自定義水波紋實(shí)現(xiàn)方式無界水波紋

自定義這個效果其實(shí)也很簡單,需要在drawable文件夾中定義ripple節(jié)點(diǎn),再設(shè)置上顏色就可以了:

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorAccent"> 
</ripple>

在布局文件中將之引用為控件的背景:

<TextView 
 android:layout_width="match_parent" 
 android:layout_height="56dp" 
 android:layout_centerInParent="true" 
 android:layout_marginTop="36dp" 
 android:background="@drawable/nomaskripple" 
 android:clickable="true" 
 android:gravity="center" 
 android:text="Hello World!"/> 

顯示效果如下:

OK,大家看到這是無界水波紋。OK,如果想定義有界水波紋又該如何呢?

有界水波紋

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorPrimary"> 
 <item 
 android:id="@android:id/mask" 
 android:drawable="@color/colorAccent"/> 
</ripple> 

有界水波紋需要我們在ripple節(jié)點(diǎn)中定義item,item的id要為系統(tǒng)id  mask,然后還要定義drawable,drawable中的顏色并沒有什么卵用,水波紋的顏色是由ripple節(jié)點(diǎn)中的顏色來控制的,看看顯示效果:


帶圖片形狀的水波紋

有的時(shí)候如果你希望水波紋不是長條形,又該如何呢?有兩種解決方案,一種是使用圖片,還有就是自定義shape,我們先來看看使用圖片:

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorAccent"> 
 <item 
 android:id="@android:id/mask" 
 android:drawable="@drawable/ic_launcher"/> 
</ripple>

我這里使用了系統(tǒng)自帶的小機(jī)器人,我們來看看顯示效果:

大家看到,這個時(shí)候的水波紋效果就是這個小機(jī)器人這張圖片中非透明像素點(diǎn)所在的區(qū)域了。

自繪形狀的水波紋

自繪shape,來看一個圓角矩形:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
 <corners android:radius="10dp"/> 
 <solid android:color="@color/colorPrimary"/> 
</shape> 

在ripple中引用該矩形:

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorAccent"> 
 <item 
 android:id="@android:id/mask" 
 android:drawable="@drawable/custom_shape"/> 
</ripple> 

顯示效果:

這種方式我們在shape中定義的顏色只是用來劃定水波紋顯示區(qū)域,于視圖顯示上并沒有什么用。如果你想讓控件一開始就顯示shape中定義的顏色,可以這樣來定義ripple:

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorAccent"> 
 <!--<item--> 
 <!--android:id="@android:id/mask"--> 
 <!--android:drawable="@drawable/custom_shape"/>--> 
 <item> 
 <shape android:shape="rectangle"> 
  <corners android:radius="10dp"/> 
  <solid android:color="@color/colorPrimary"/> 
 </shape> 
 </item> 
</ripple> 

顯示效果如下:


大家看到,我可以在item中定義shape,那么可能有小伙伴會想到我是否可以在item中定義selector呢?當(dāng)然可以。

帶selector效果的水波紋

代碼:

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
 android:color="@color/colorAccent"> 
 <item> 
 <selector> 
  <item 
  android:state_pressed="true" 
  android:drawable="@drawable/ic_launcher"/> 
  <item 
  android:state_pressed="false" 
  android:drawable="@drawable/bg"/> 
 </selector> 
 </item> 
</ripple> 

顯示效果:

Ok,這就是5.0中水波紋效果的使用。

源碼下載

參考資料:

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

  • Android仿微信語音消息的錄制和播放功能

    Android仿微信語音消息的錄制和播放功能

    這篇文章主要介紹了Android仿微信語音消息的錄制和播放功能,需要的朋友可以參考下
    2017-09-09
  • Android系統(tǒng)底層Reboot流程源碼解讀

    Android系統(tǒng)底層Reboot流程源碼解讀

    本文主要關(guān)注?Android?系統(tǒng)底層的?Reboot?流程,主要涉及?Native、Kenrel、Recovery、Bootloader,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 詳解Android截屏事件監(jiān)聽

    詳解Android截屏事件監(jiān)聽

    本篇文章主要介紹了Android截屏事件監(jiān)聽,Android系統(tǒng)沒有直接對截屏事件監(jiān)聽的接口,本文介紹了2種方法,有興趣的可以了解一下。
    2016-12-12
  • Android拍照和獲取相冊圖片

    Android拍照和獲取相冊圖片

    這篇文章主要為大家詳細(xì)介紹了Android拍照和獲取相冊圖片的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android中XUtils3框架使用方法詳解(一)

    Android中XUtils3框架使用方法詳解(一)

    這篇文章主要介紹了Android中XUtils3框架使用方法詳解(一)的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • 解決AMD無法使用Android studio問題

    解決AMD無法使用Android studio問題

    這篇文章主要介紹了AMD無法使用Android studio解決方法,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • android dialog背景模糊化效果實(shí)現(xiàn)方法

    android dialog背景模糊化效果實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了android dialog背景模糊化效果的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Android開發(fā)獲取手機(jī)Mac地址適配所有Android版本

    Android開發(fā)獲取手機(jī)Mac地址適配所有Android版本

    這篇文章主要介紹了Android開發(fā)獲取手機(jī)Mac地址適配所有Android版本,需要的朋友可以參考下
    2020-03-03
  • Android中通過RxJava進(jìn)行響應(yīng)式程序設(shè)計(jì)的入門指南

    Android中通過RxJava進(jìn)行響應(yīng)式程序設(shè)計(jì)的入門指南

    響應(yīng)式編程在Android中的運(yùn)用是非常犀利的,比如在異常處理和調(diào)度器方面,這里我們將從生命周期等方面來講解Android中通過RxJava進(jìn)行響應(yīng)式程序設(shè)計(jì)的入門指南:
    2016-06-06
  • 最新評論

    柳州市| 红桥区| 贡觉县| 许昌市| 古丈县| 玉门市| 宜君县| 清水河县| 聊城市| 济南市| 新竹县| 西和县| 兴安盟| 白河县| 汉沽区| 大方县| 鄂托克旗| 台湾省| 延安市| 宜阳县| 合肥市| 张家川| 璧山县| 清流县| 山丹县| 衢州市| 越西县| 棋牌| 方城县| 乡宁县| 景德镇市| 太湖县| 株洲县| 延边| 九龙县| 石泉县| 馆陶县| 三明市| 鄱阳县| 翁源县| 封开县|