Views and Shadows:

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

View Elevation

  控件的Z值,是由两个值组成的:高度和位移。高度是固有的属性,位移可以用于创建动画。

  Z = elevation + translationZ

  改变elevation的方法:

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

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

为控件创建一些动画。

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裁剪的图片设置为控件的阴影图片。

Material design之Views and Shadows的更多相关文章

  1. Material Design系列第四篇——Defining Shadows and Clipping Views

    Defining Shadows and Clipping Views This lesson teaches you to Assign Elevation to Your Views Custom ...

  2. Android Material Design-Creating Apps with Material Design(用 Material Design设计App)-(零)

    转载请注明出处:http://blog.csdn.net/bbld_/article/details/40400031 翻译自:http://developer.android.com/trainin ...

  3. Material Design系列第二篇——Getting Started

    Getting Started This lesson teaches you to Apply the Material Theme Design Your Layouts Specify Elev ...

  4. Material Design系列第一篇——Creating Apps with Material Design

    Creating Apps with Material Design //创建Material Design的App Material design is a comprehensive guide ...

  5. Material Design系列第八篇——Creating Lists and Cards

    Creating Lists and Cards //创建列表和卡片 To create complex lists and cards with material design styles in ...

  6. Material Design Get Started

    使用Material Design设计应用: Take a look at the material design specification. Apply the material theme to ...

  7. Android Material Design 兼容库的使用

    Android Material Design 兼容库的使用 mecury 前言:近来学习了Android Material Design 兼容库,为了把这个弄懂,才有了这篇博客,这里先推荐两篇博客: ...

  8. Material Design学习笔记

    Wiki->移动开发->Android->Material Design-原质化设计 (友情链接:http://wiki.jikexueyuan.com/project/materi ...

  9. ANDROID L——Material Design详解(UI控件)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...

随机推荐

  1. 2、jQuery选择器

    2.1 基本选择器 它有元素Id.Class.元素名.多个选择符组成,通过基本选择器可以实现大多数页面元素的查找. 选择器 功能 返回值 #id 根据给定的ID匹配一个元素 单个元素 element ...

  2. spring bean parent属性详解

    必要条件:1.子bean必须与父bean保持兼容,也就是说子bean中必须有父bean定义的所有属性. 2.父bean必须是抽象bean或者定义lazy-init=true也就是不让bean工厂实例化 ...

  3. 基于Python-Flask实现的网站例子

    概述 使用Flask写的体育网站 包括(注册 论坛 文章评论 组建战队 后台管理)等功能 示例地址文中有写 萌新 请多指教 详细 代码下载:http://www.demodashi.com/demo/ ...

  4. 一个表中的字段值用作另一个表的In查询条件

    Question表与Paper表 Paper表中字段QuestionIds存储的是Question表中字段Id的拼接后的值 如: 'f855eba1-b308-4bd7-a250-c071a0e1bd ...

  5. 使用typescript开发js代码提升代码维护性

    function test() { var gs = new Greeter('ss'); alert( gs.greet()); } window.onload = test; class Gree ...

  6. QT Unexpected CDB exit 问题的解决办法

    行QT进行debug时,提示 Unexpected CDB exit ,The CBD process terminated.. QtCreator 默认是没有调试器的,因此需要用户额外安装. win ...

  7. 企业信息系统集成框架(设计思路)C模式

    1.客户端.h文件 #pragma once #include<stdlib.h> //A程序员定义接口形式和调用模式 //初始化句柄 typedef int(*Init_Socket)( ...

  8. Java 装饰模式(4.4)

    装饰模式(decorator pattern). 依照Num模型.讨论职业/IProfession类层次. IProfession定义了方法say(String),事实上现类教师/ Teacher.医 ...

  9. python-创建一个本地txt文本

    def text_create(name, msg): desktop_path = '/Users/Hou/Desktop/' full_path = desktop_path + name + ' ...

  10. OpenSSL生成证书详解 如何使用OpenSSL生成自签证书 转载

    原文:http://my.oschina.net/fajar/blog/425478 使用OpenSSL生成自签证书(亲测) 一,前言 读过我博客的小伙伴儿都知道,我一般在前言里面会提到为什么写这篇博 ...