MaterialDesign的觸控反饋和揭露效果

2021-08-04 18:37:18 字數 1748 閱讀 1128

例子:水波紋效果

水波紋效果是5.0+自帶的。

"wrap_content"

android:layout_height="100dp"

android:text="hello_world" />

"wrap_content"

android:layout_height="100dp"

android:background="?attr/selectableitembackground"

android:text="hello_world" />

"wrap_content"

android:layout_height="100dp"

android:background="?attr/selectableitembackgroundborderless"

//沒有邊界,圓形

android:text="hello_world" />

button背景顏色設定不同的背景。

android:background=」?attr/selectableitembackground」

android:background=」?attr/selectableitembackgroundborderless」//沒有邊界,圓形

可以修改背景顏色和水波紋的顏色:

value-v21/styles.xml

name="colorcontrolhighlight">@color/colorprimary_pink

"colorbuttonnormal">@color/material_blue_grey_800

style>

這樣就可以改變5.0以上水波紋的顏色

例子:activity的揭露出現的效果。

viewanimationutil工具類

//圓形水波紋揭露效果

viewanimationutils.createcircularreveal(

view, //作用在哪個view上面

centerx, centery, //擴散的中心點

startradius, //開始擴散初始半徑

endradius)//擴散結束半徑

// 中心擴散的揭露效果

final animator circularreveal = viewanimationutils.createcircularreveal(bt1, bt1.getwidth() / 2, bt1.getheight() / 2, 0, bt1.getheight());

circularreveal.setduration(500);

circularreveal.setinterpolator(new accelerateinterpolator());

circularreveal.start();

// 從左上角開始的揭露效果

animator animator = viewanimationutils.createcircularreveal(bt2, 0, 0, 0, (float)math.hypot(bt2.getwidth(), bt2.getheight()));

animator.setduration(1000);

animator.setinterpolator(new accelerateinterpolator());

animator.start();

Material Design的其他使用

material design給予影象兩個新功能tint著色和clip剪裁 第乙個著色很簡單,你只需要在xml檔案中配置好android tint屬性和android tintmode屬性就可以。效果顯而易見,如圖所示 接下來說一下裁剪的功能,你可以通過裁剪改變乙個檢視的外形。首先需要使用viewo...

Material Design控制項使用

本文整合前面四篇的控制項,再結合豆瓣讀書的api,做了乙個搜尋書籍和檢視書籍資訊的demo。先上效果圖 專案依賴庫 dependencies 複製 書籍列表 使用了recyclerview和cardview進行布局。recyclerview參考文章 material design控制項使用 一 ca...

Material Design之動畫篇

一.material design之動畫篇 要求 android5.0開始引入material design 擬物設計和扁平設計的結合 反饋要微妙而清晰,過渡動畫要高效而連貫 觸控反應,漣漪 抬高 material design動畫效果類 一 touch feedback reveal effect...