Material design之Views and Shadows

Views and Shadows:

  elevation是构成控件阴影的基本属性。经过设置较高的Z值能够接受更大的阴影,阴影只能投射到Z=0的平面上。android

View Elevation

  控件的Z值,是由两个值组成的:高度和位移。高度是固有的属性,位移能够用于建立动画。布局

  Z = elevation + translationZ动画

  改变elevation的方法:spa

  • 在布局中经过属性改变:android:elevation
  • 在代码中改变属性:View.setElevation

  新的 ViewPropertyAnimator.z 和 ViewPropertyAnimator.translationZ方法可让你很简单的code

为控件建立一些动画。
xml

Shadows and Outlines

  控件背景图的边缘,会默认做为这个控件的阴影。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方法设置阴影图片

Clipping Views

  经过 View.setClipToOutline方法能够能够裁剪控件的轮廓。只支持矩形,圆形和椭圆。能够经过 Outline.canClip方法来检测是否支持裁剪。

  经过 View.setClipToOutline裁剪的图片设置为控件的阴影图片。

相关文章
相关标签/搜索