首页 > 代码库 > Android(Lollipop/5.0) Material Design(四) 定义阴影和裁剪View
Android(Lollipop/5.0) Material Design(四) 定义阴影和裁剪View
官网:https://developer.android.com/intl/zh-tw/training/material/shadows-clipping.html
Material设计为UI元素引入了一个depth值,depth帮助用户了解每个元素相对重要性,重点关注手头的任务
每个View的elevation值,相当于z属性,它决定了阴影的大小:z越大,阴影越大。
Views仅仅在z=0的平面时才会投影;它们不会投影在放置在它们下面和上面的的其他Views上。
使用较高z值的Views会阻隔使用较低z值的Views。
然而,一个View的Z值不会影响View的大小。
elevation有利于创建 在组件需要临时上升到View的平面之上做一些操作时 的动画。
Assign Elevation to Your Views 在Views中指定Elevation
Z值包含两个成分:elevation和translation。elevation是一个静态的成分,translation使用了动画:Z = elevation + translationZ在layout中设置elevation,使用android:elevation属性。在代码中设置,使用View.setElevation()方法。
设置一个View的translation,使用View.setTranslationZ()方法。
ViewPropertyAnimator.z()和ViewPropertyAnimator.translationZ() 能使你更轻易的推动Views的elevation。
您还可以使用一个StateListAnimator指定这些动画声明的方式。在状态改变触发动画的情况下,这是特别有用的,比如当用户按下一个按钮时。
Customize View Shadows and Outlines 自定义View的阴影和轮廓
Android(Lollipop/5.0) Material Design(四) 定义阴影和裁剪View