android - 比率关键线(如 Google 的 Material Design 中所述)如何应用于计算?
问题描述
简而言之,您如何在计算中使用 Google 的 Material Design 中提到的比率关键线?
例如,在 android 中设置peekHeight
a以将工作表配置为以 16:9 的比例自动查看 keyline。[ 1 ]BottomSheet
PEEK_HEIGHT_AUTO
我假设 apeekHeight
是内部计算的,并且使用了该值。
使用 16:9 的比例,以及屏幕的宽度和高度(也许还有密度?),这个值是如何得出的?
我目前正在阅读材料设计文档,但似乎没有任何内容描述这些比率关键线如何应用于计算。我正在寻找一些公式,但似乎没有。或者我对比率关键线的理解是错误的?
解决方案
似乎比率关键线的应用如下:
在我的示例中,要计算peekHeight
,首先 上面的空间peekHeight
似乎是这样计算的:
topMargin = (9.0f * screenWidth) / 16.0f;
然后,peekHeight
计算屏幕高度和空间之间的差异,如下所示:
peekHeight = screenHeight - topMargin;
如上所示,比例关键线 16:9 用于计算元素上方的空间。因为在 Material Design 文档的Spacing部分中提到了 ratio keyline ,我认为它的主要关注点是元素留下的空间。
此外,需要注意的一件事是,在计算空间时,该比率似乎已经反转。我似乎无法正确描述它,但在视觉上它是这样的:(我无法使用我目前正在开发的应用程序的屏幕截图,因此图像可能看起来不完整)
(一旦我完全理解了比率关键线是什么,我计划重新审视这篇文章)
推荐阅读
- tensorflow - Google Collab 与 TensorBoard 不兼容
- pip - 如何在命令 pip install Cython 期间修复错误
- substrate - 如何在基板中生成 types.json
- flutter - 对于 pageView 中的视频列表,VideoPlayer 中的视频初始化时间过长
- python - 来自 pubsub 的 Apache Beam 读取模式
- json - JOLT 仅从数组中的数组中获取一个值
- android - 如何使用 Kotlin 在 Android 中以编程方式更改选择器文件检查状态可绘制 .webp 文件颜色?
- php - 如何在启动时启动 PHP?
- sql - 我收到此错误:ORA-01438:值大于此列允许的指定精度
- sql - 触发插入表中的数据保留以及在一列上更新和插入的组合