博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 5.x特性概览四
阅读量:7093 次
发布时间:2019-06-28

本文共 1055 字,大约阅读时间需要 3 分钟。

  上节,我们说了palatte及其特性,这里我们介绍Android 5.x的另一个特性视图与阴影。

  在第一节,我们就提到了Material Design 一大特性就是就是扁平化,倘若说 iOS 的扁平化设计太过于超前,让很多人还来不及从拟物转变到扁平,那么 Material Design 则是比iOS的扁平化效果更加接地气。通过展现生活中的材质效果、恰当地使用阴影和光线,配合平滑逼真的动画效果,模拟出一个动感十足又美丽大胆的视觉效果。

  阴影效果

  以往的Android View 通常只具有两个坐标——X 和Y,而在Android 5.X 中,Google 为其增加了一个新的坐标——Z,对应垂直方向上的高度变化。相信通过下图,大家可以很快了解Z 的意义。

  在 Android 5.X 中,View 的 Z 值由两部分组成,elevation 和 translationZ(它们都是 Android5.X 新引入的属性)。elevation 是静态的成员,translationZ 可以在代码中使用来实现动画效果,它们的关系如下所示。

  1. android:elevation 设置该组件“浮”起来的高度,to难过过设置该属性可以让该组件呈现3D效果。

  2. android:translationZ  设置该组件在Z方向(垂直屏幕方向)上的位移。

  Z轴的距离为Z = elevation + translationZ,我们可以在xml布局文件中设置elevation的值,相应源代码如下:  

  

android:elevation="XXdp"

  通过以下实例,演示了不同视图高度所显示效果的不同,XML 代码如下所示:

  相应效果图如下:

  硬币有正反两面,同样,Android能够有xml设置属性,也当然可以用Java代码设置视图高度,相应Java代码如下:

view.setTranslationZ(XXX);

  当然,我们通常也使用属性动画来为视图高度改变的时候增加一个动画效果,代码如下所示。

if (flag) {view.animate().translationZ(100);flag = false;} else {view.animate().translationZ(0);flag = true;}

  这就是对Material Design中的阴影效果的介绍。

 

转载地址:http://wdaql.baihongyu.com/

你可能感兴趣的文章
《C++面向对象高效编程(第2版)》——3.7 编译器如何实现const 成员函数
查看>>
《iOS 8应用开发入门经典(第6版)》——第2章,第2.4节小结
查看>>
《树莓派实战秘籍》——2.2 技巧22构建一个定制内核
查看>>
MySQL DBA 面试全揭秘
查看>>
sicp 4.3.1小节两题
查看>>
如何修改 Linux 的 GRUB 启动背景
查看>>
《大数据导论》一第2章 采用大数据的商业动机与驱动
查看>>
《21天学通C语言(第6版•修订版)》一1.4 程序开发周期
查看>>
《Visual Basic 2012入门经典》---- 2.5 使用“Properties”窗口设置对象属性
查看>>
android sdutio常用快捷键
查看>>
arcgis catalog 连接sde时出现 Target state not found in the STATES table 错误
查看>>
Spark机器学习7·降维模型(scala&python)
查看>>
架构师速成4.3-幼儿园要学会查找资料
查看>>
PostgreSQL 10.0 preview 功能增强 - 支持EUI-64格式MAC地址类型
查看>>
没有时间看MOOC怎么办?
查看>>
Redesign Your App for iOS 7 之 页面布局【转】
查看>>
由安装两块网卡的linux系统中引起网络不通想到的
查看>>
连接 0.0.0.0/32 发生了什么
查看>>
DJANGO:根据不同的环境,配置不同的SETTINGS文件,读取不同的DB,JENKINS,SALT配置
查看>>
实战:nginx作为web服务程序提供者条件下安装discuz
查看>>