elevation是构成控件阴影的基本属性。经过设置较高的Z值能够接受更大的阴影,阴影只能投射到Z=0的平面上。android
控件的Z值,是由两个值组成的:高度和位移。高度是固有的属性,位移能够用于建立动画。布局
Z = elevation + translationZ动画
改变elevation的方法:spa
View.setElevation
新的 ViewPropertyAnimator.z 和
ViewPropertyAnimator.translationZ方法可让你很简单的
code
为控件建立一些动画。
xml
控件背景图的边缘,会默认做为这个控件的阴影。Outlines 会根据控件的形状来生成阴影,并生成触摸反馈效果。blog
用于控件的背景图,也会用于生成阴影图。图片
下面是一个例子:ip
<TextView android:id="@+id/myview" ... android:elevation="2dp" android:background="@drawable/myrect" />
背景图:io
<!-- res/drawable/myrect.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#42000000" />
<corners android:radius="5dp" />
</shape>
能够在代码中经过View.setOutline方法设置阴影图片
经过 View.setClipToOutline方法能够能够裁剪控件的轮廓。只支持矩形,圆形和椭圆。能够经过
Outline.canClip方法来检测是否支持裁剪。
经过 View.setClipToOutline裁剪的图片设置为控件的阴影图片。