View转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢

定义阴影和裁减

材料设计引入了深度的UI元素。深度帮助用户了解每一个元素的相对重要性。以及集中注意力于手头的任务。

一个视图。通过Z属性表示的Elevation,决定了它的影子的大小:具有较高的Z值的View蒙上更大的阴影。浏览次数仅仅投射阴影在Z=0平面上;他们不投在以下放置它们和上面的Z =0平面的其它意见的阴影。

具有较高的Z值的意见闭塞的View与较低的Z值。然而,鉴于Z值不会影响视图的大小。

Elevation也非常有创建动画。当中的小部件临时超越视图平面运行某些操作的时候。

指定Elevation到你的Views

一个视图中的Z值有两个组成部分,高度和翻译。仰角是静态分量和翻译是用于动画:

Z = elevation + translationZ


设置在布局定义视图的高度,使用android:elevation属性。设置在活动的代码视图的高度,使用View.setElevation()方法。

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

新ViewPropertyAnimator.z()和ViewPropertyAnimator.translationZ()方法,使您能够轻松地制作动画的View elevation。欲了解很多其它信息,请參阅ViewPropertyAnimator和物业动画开发者指南的API參考。

您也能够使用StateListAnimator以声明方式指定这些动画。

这是情况下,状态变化触发动画,当用户按下一个button,像特别实用。欲了解很多其它信息,请參见动画视图状态更改。

Z值与X和Y值具有同样的測量单位。

自己定义视图的阴影和Outlines


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

考虑这个View,与背景绘制的定义:

<TextViewandroid: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:

扩展ViewOutlineProvider类。 
    覆盖getOutline()方法。 
    分配新大纲提供给您的视图与View.setOutlineProvider()方法。

您能够创建椭圆形和矩形轮廓使用大纲类中的方法圆角。默认纲要提供者的意见得到从视图的背景轮廓。为了防止鉴于蒙上阴影,设置其轮廓提供商为null。

裁减视图

裁剪View,您能够轻松地更改视图的形状。你能够改变视图一致性与其它设计元素或改变的图的形状,以响应用户输入。您能够剪辑,以便使用View.setClipToOutline()方法还是Android的轮廓区域:clipToOutline属性。

仅仅有矩形,圆形和圆角矩形轮廓支撑剪裁,如由Outline.canClip()方法来确定。

夹视图到绘制的形状。设置绘制的视图的背景(如上图所看到的),并调用View.setClipToOutline()方法。

剪裁View是昂贵的操作,所以不要动画。你用它来夹视图的形状。为了达到这个效果,请使用显示效果动画。

Creating Apps With Material Design —— Defining Shadows and Clipping Views相关推荐

  1. Creating Apps With Material Design —— Defining Custom Animations

    转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出.谢谢 定义动画 在材料设计动画让用户与您的应用程序 ...

  2. Creating Apps With Material Design —— Creating Lists and Cards

    转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android.时间仓促,有翻译问题请留言指出,谢谢 创建Lisst和Cards 在你的应用程序创 ...

  3. Create Apps with Material Design

    设计原则 实体感隐喻 通过构建系统化的动效和空间合理化利用,并将两个理念合二为一,构成了实体隐喻.与众不同的触感是实体的基础,这一灵感来自我们对纸墨的研究,但是我们相信,随着科技的进步,应用前景将不可 ...

  4. Material Design设计规范

    作为技术开发者需不需要了解设计规范?个人认为非常需要,一个交流的需要,另一就是了解相关的设计才能储备相应地知识,知道UI开发的方向.这问题非常希望读者能留言讨论. **Android**的设计风格变迁 ...

  5. (10.1.4) Material Design设计规范

    下面的内容是在<移动互联网沙龙开年篇>做的一点分享,关于Material Design设计规范相关的. 作为技术开发者需不需要了解设计规范?个人认为非常需要,一个交流的需要,另一就是了解相 ...

  6. Material Design(4)

    Material design Elevation & shadows 海拔与阴影 物体在 material design 与物体在现实世界里具有相似的表现形式 在现实世界里,物体能够被堆叠或 ...

  7. Material Design中的Elevation和shadows

    参考: https://developer.android.com/training/material/shadows-clipping.html#Shadows https://material.g ...

  8. 值得一看!2018年最优秀的9个Android Material Design Apps!

    今年4月,谷歌Gmail推出了全新的设计外观,全新的配色方案,更多的空白区域和精致的图标.也带来了Material Design 的一些改变 – Material Theming (材料主题),旨在自 ...

  9. android6.0进入Material Design时代

    Material Design 官方Material Design详细介绍文档:http://www.google.com/design/spec/material-design/introducti ...

  10. 【Android】进入Material Design时代

    由于本文引用了大量官方文档.图片资源,以及开源社区的Lib和相关图片资源,因此在转载的时候,务必注明来源,如果使用资源请注明资源的出处,尊重版权,尊重别人的劳动成果,谢谢! Material Desi ...

最新文章

  1. python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...
  2. [转] 利用jemalloc分析内存泄漏
  3. zb如何导出自己画的_zbrush纹理贴图(zbrush怎么导出映射贴图)
  4. PostgreSQL在何处处理 sql查询之五十二
  5. art-template入门(八)之选项
  6. linux 卸载lv,Linux 软件安装、卸载、查询
  7. Ethercat解析(九)之过程数据
  8. 小学教师计算机说课,浙江温州小学计算机教师资格认证说课稿
  9. 华为今年不发布Mate系列新机;一加宣布与OPPO合并:将成为OPPO旗下独立品牌;Gradle 7.1 发布|极客头条...
  10. php操作mysqli(示例代码)
  11. ES6-异步async await学习
  12. 2022.3.27 学习韩顺平老师java基础
  13. OCR身份证识别免费试用,附带Java代码
  14. mysql commit用法_sql commit用法
  15. android 验证手机、邮箱格式
  16. New Age音乐启蒙与经典选介
  17. 35岁的程序员:第18章,私欲
  18. Flink任务失败,检查点失效:Exceeded checkpoint tolerable failure threshold.
  19. AD_Copy Room
  20. AutoCAD正版软件多少钱?企业应该采购多少license?

热门文章

  1. MSP430学习笔记10-ADC采集1602显示
  2. 用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法:
  3. GridViewObjectDataSource新特性小记 懒人篇(一) 分页上路
  4. iOS 之项目中遇到的问题总结
  5. UVa 1513 Movie collection 树状数组
  6. 网站如何做分布式(集群)的大纲
  7. 将PICTUREBOX中显示的图片,存入数据库中
  8. udp广播收到重复包
  9. sql Server 2008 数据库自动备份维护计划
  10. Linux 创建静态库(.a)和动态库(.so)