标签:
View转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢
材料设计引入了深度的UI元素。深度帮助用户了解每一个元素的相对重要性。以及集中注意力于手头的任务。
Elevation也非常有创建动画。当中的小部件临时超越视图平面运行某些操作的时候。
一个视图中的Z值有两个组成部分,高度和翻译。仰角是静态分量和翻译是用于动画:
Z = elevation + translationZ
设置在布局定义视图的高度,使用android:elevation属性。设置在活动的代码视图的高度,使用View.setElevation()方法。
要设置视图的转换。使用View.setTranslationZ()方法。
新ViewPropertyAnimator.z()和ViewPropertyAnimator.translationZ()方法,使您能够轻松地制作动画的View elevation。欲了解很多其它信息,请參阅ViewPropertyAnimator和物业动画开发者指南的API參考。
您也能够使用StateListAnimator以声明方式指定这些动画。
这是情况下,状态变化触发动画,当用户按下一个button,像特别实用。欲了解很多其它信息,请參见动画视图状态更改。
Z值与X和Y值具有同样的測量单位。
一个视图的背景绘制的边界决定了其影子的默认形状。Outlines表示图形对象的外部形状,并限定了波纹区域的触摸反馈。
考虑这个View,与背景绘制的定义:
<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:
您能够创建椭圆形和矩形轮廓使用大纲类中的方法圆角。默认纲要提供者的意见得到从视图的背景轮廓。为了防止鉴于蒙上阴影,设置其轮廓提供商为null。
裁剪View,您能够轻松地更改视图的形状。你能够改变视图一致性与其它设计元素或改变的图的形状,以响应用户输入。您能够剪辑,以便使用View.setClipToOutline()方法还是Android的轮廓区域:clipToOutline属性。
仅仅有矩形,圆形和圆角矩形轮廓支撑剪裁,如由Outline.canClip()方法来确定。
夹视图到绘制的形状。设置绘制的视图的背景(如上图所看到的),并调用View.setClipToOutline()方法。
剪裁View是昂贵的操作,所以不要动画。你用它来夹视图的形状。为了达到这个效果,请使用显示效果动画。
Creating Apps With Material Design —— Defining Shadows and Clipping Views
标签:
原文地址:http://www.cnblogs.com/lcchuguo/p/5260452.html