【问题标题】:Difference between elevation and translationZ高程和平移Z的区别
【发布时间】:2015-03-31 11:41:31
【问题描述】:

我尝试了这两个功能,但我真的不知道为什么我应该使用海拔而不是 translatez 或反之亦然。

当我使用它们时,它们都会产生阴影。

我应该同时使用(具有相同的价值)?我应该只用一个吗?

提前谢谢你!

编辑:

我做了一个视觉比较可以清楚地看到它:

我得到的结论是(至少在 0 到 16 dp 的范围内)其中一个是可有可无的。

我在 8 vs 8 和 16 vs 16 中看到相同的阴影,在 16 vs 8+8 中看到相同的阴影。

但我没有一个伟大的愿景,你们怎么看?

【问题讨论】:

    标签: android comparison android-elevation


    【解决方案1】:

    那是因为实际的 Z 值是elevationtranslationZ 之和

    docs 来看,elevation 是“视图的基本 z 深度”,这是一个静态变量,而 translationZ 是动态的。

    所以elevation 是你的起始值,对于动画你应该使用translationZ

    Source

    【讨论】:

    • 关于你的答案,我可以使用 always translationZ 获得相同的解决方案,在开始和稍后做动画(例如,从 8dp 开始并将其转换为 16dp,然后返回到 8dp),使用海拔+平移
    • @Dahnark 确实如此,但是例如当您有多个带有弹出(或缩放或....)动画的项目时,您仍然可以使用海拔属性来显示海拔高度所有这些元素分开。
    猜你喜欢
    • 2019-07-06
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    相关资源
    最近更新 更多