Material Design(四)

来源:互联网 发布:linux c debug 编辑:程序博客网 时间:2024/06/05 15:27

Views and Shadows

View的高度决定了它的影子的大小:观点与投更大的阴影更高的Z值。浏览次数只有投射阴影下的正投影在Z = 0平面(的意见不具有可扩展的的Z值不同)。

海拔也很有创建动画执行某些行动时,其中的小部件暂时超越视图平面。

View Elevation


一个视图中的Z值有两个组成部分,elevation and translationelevation静态组件,translation用于动画:

Z = elevation + translationZ

要设置一个视图的海拔:

  • 在布局定义,使用android:elevation 属性。
  • 在一个活动的代码,使用View.setElevation方法。

要设置视图的转换,使用View.setTranslationZ方法。

ViewPropertyAnimator.zViewPropertyAnimator.translationZ 方法使您能够轻松地制作动画的意见高程。欲了解更多信息,请参阅API参考ViewPropertyAnimator和Property Animation开发人员指南。

该Z值是相同的单位测量的X和Y值。

Shadows and Outlines阴影和轮廓


一个视图的背景绘制边界决定了其影子的默认形状,  Outlines代表了图形对象的外形和定义波纹区域触摸反馈。

例如,如果您定义与背景绘制一个观点:

<TextView    android:id="@+id/myview"    ...    android:elevation="2dp"    android:background="@drawable/myrect" />

其中背景绘制被定义为具有圆角的矩形:

<!-- 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方法。

由于剪裁的意见是昂贵的操作,没有动画效果使用夹视图的形状。为了达到这个效果,请使用Reveal Effect的动画。


0 0
原创粉丝点击