首页 > 解决方案 > 比率关键线(如 Google 的 Material Design 中所述)如何应用于计算?

问题描述

简而言之,您如何在计算中使用 Google 的 Material Design 中提到的比率关键线?

例如,在 android 中设置peekHeighta以将工作表配置为以 16:9 的比例自动查看 keyline[ 1 ]BottomSheetPEEK_HEIGHT_AUTO

我假设 apeekHeight是内部计算的,并且使用了该值。 使用 16:9 的比例,以及屏幕的宽度和高度(也许还有密度?),这个值是如何得出的?

我目前正在阅读材料设计文档,但似乎没有任何内容描述这些比率关键线如何应用于计算。我正在寻找一些公式,但似乎没有。或者我对比率关键线的理解是错误的?

标签: androidmaterial-design

解决方案


似乎比率关键线的应用如下:

在我的示例中,要计算peekHeight,首先 上面的空间peekHeight似乎是这样计算的:

topMargin = (9.0f * screenWidth) / 16.0f;

然后,peekHeight计算屏幕高度和空间之间的差异,如下所示:

peekHeight = screenHeight - topMargin;

如上所示,比例关键线 16:9 用于计算元素上方的空间。因为在 Material Design 文档的Spacing部分中提到了 ratio keyline ,我认为它的主要关注点是元素留下的空间。

此外,需要注意的一件事是,在计算空间时,该比率似乎已经反转。我似乎无法正确描述它,但在视觉上它是这样的:(我无法使用我目前正在开发的应用程序的屏幕截图,因此图像可能看起来不完整)

(一旦我完全理解了比率关键线是什么,我计划重新审视这篇文章)


推荐阅读