「质感」 的 「厚度」

如果你有看过 Material Design, 那也许会对这个描述有印象:

Material has varying x & y dimensions (measured in dps) and a uniform thickness (1dp). Materialnever has a thickness of 0.

那么, 这个 idp thickness 到底是什么意思呢?

这里的 1dp thick 并不是一个实际的数字, 它有两个含义: Material 有固定的厚度, Material 的厚度是一个网格中允许存在的最小值.

什么意思呢?

在 Holo (或者说 Android Design) 时代, Google 就已经强调了阴影和高光的使用, 但是, Holo 中的阴影和高光并不完全是高度变化的产物, 相当一部分的阴影和高光是由控件本身的厚度产生的 (比如 Action Bar 下方的阴影).

7b2cf10ef15a2ce208c204ad64b0ec3e_r

而 Material Design 里, 厚度这个属性被去除了. 也就是说, 同样是 Action Bar 和 App Bar 产生的投影, 在 Android Design 中, 投影是因为 Action Bar 有厚度 (厚度是多少我们不知道), 而在 Material Design 中, App Bar 的投影却是由于 App Bar 的高度高于下面的内容而产生的. 同样的, 其他的 Material 元素也和 App Bar 一样会产生投影, 而这些投影并不是由厚度产生的, 而是由高度差产生的. Google 规定了 Material 固有的厚度, 也就是问题描述中的 1dp thick.

Material 有固定的厚度, 然后呢? 实际上, Material 的厚度应该是一个虚数. 你可以把它想象成一张无限薄却不透明的材料. 但是 Google 显然不可能用这种暧昧的描述. 而在 Material Design 中, 基本不存在 “0.5dp” 这样的数值, Material Design 的网格也是以 8dp 为单位存在, Google 同样不能采用 “0.1dp thick” 这样的表述. 但是 Material 必须有厚度. 这个时候, 拿一个最小整数单位来提示 “这个东西有厚度”, 就只能选择 1dp 了.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s