"setElevation"vs"setTranslationZ"vs"setZ"

and*_*per 10 android shadow android-elevation

Lollipop具有"View"类的所有新功能.它们之间究竟有什么区别,为什么我们需要这么多功能呢?

我已经阅读了文档,我想了解(或更好地理解)每个文档的差异和需求,以便我知道何时使用它们:

  1. 海拔

基础z视图的深度

必须是维值,这是一个附加单位的浮点数,例如"14.5sp".可用单位是:px(像素),dp(与密度无关的像素),sp(基于首选字体大小的缩放像素),in(英寸),mm(毫米).

这也可能是对包含此类型值的资源(格式为"@ [package:] type:name")或主题属性(格式为"?[package:] [type:] name")的引用.

这对应于全局属性资源符号高程.

那么它是从它开始的呢?

  1. translationZ

在视图的z中翻译.此值将添加到其高程.

必须是维值,这是一个附加单位的浮点数,例如"14.5sp".可用单位是:px(像素),dp(与密度无关的像素),sp(基于首选字体大小的缩放像素),in(英寸),mm(毫米).

这也可能是对包含此类型值的资源(格式为"@ [package:] type:name")或主题属性(格式为"?[package:] [type:] name")的引用.

这对应于全局属性资源符号translationZ.

除了"提升"之外还添加了这个?为什么需要?

  1. 而且,最令人困惑的是:setZ

设置此视图的可视z位置(以像素为单位).这相当于将translationZ属性设置为传入的x值与当前提升属性之间的差值.

我根本不明白这个的解释.这会影响阴影吗?它是干什么用的?要处理2个视图具有相同的总elavation值的情况?动画此值是否会改变视图的显示方式?