我一直在关注排版的Google官方材料设计指南(http://www.google.com/design/spec/style/typography.html),但我发现它们非常缺乏。例如,他们列出了你应该用于身体,小标题,标题,标题显示1,显示2等类型的10种样式。在你的应用程序中键入文本...这引出了我的第一个问题。
问题#1:如何知道“小标题”是什么,或者“标题”与“标题”是什么,或何时应该使用“display1”而不是“display4”,这些项目是否有标准?
此外,指南规定领先的空间应该建在文本的行高。因此,问题2。
问题2#:如何为Android中的文字添加“领先”空间,这是相关的Android指南吗?
问题3:虽然我已经下载了最新版本的Roboto,但我的中等字体看起来绝对大胆,而不是谷歌的优雅和略厚的中等字体,我如何确认我的字体实际上与谷歌不同?
非常感谢
答案 0 :(得分:32)
"向我显示代码": 不是我的,但请参阅下面的评论以获取一个选项,以及如何使用Plaid app(Butcher)通过访问Github上的来源(BaselineGridTextView
类)来解决排版问题。
免责声明:我绝不是这个主题的参考,但你的问题是一个月大而没有任何答案,即使它很重要,它的重要性只会从现在开始增长。也就是说,由于可能出现的错误,我会尝试至少提供一些亮点并提供我的头脑。
问题#1:如何知道"小标题"是,或者"标题" vs"标题",或什么时候应该"显示1"使用而不是" display4",是否有这些项目的标准?
这些是来自印刷出版传统的常见,标准化,抽象的文本实体。
其他程序使用这些(部分或全部)概念本身略有不同:
一般概念似乎是这些是表示文本集中重要性渐变的抽象实体,并且只要在出版物中一致地使用,就可以在出版物之间具有灵活的规则 ,主题,应用等。。
问题2#:如何添加"领先" Android中的文字空间,
这适用于那些将TextView
与不同风格混合的地方,例如image example(或文字跨度)。
让我说实话:现在,出于紧急情况,我用superimposed grids用眼睛检查我的领导。我从前导大小开始,然后我减去下面文本行的字体大小和一些少量作为当前行的下行。然后我根据需要进行微小的光学调整。如果这些元素(x高度,帽高,下降等)could be calculated exactly会很好,但老实说我还没有深入研究(但它可能是可能的)。我对我的“视力计”表示满意,而我的布局并不完美。
然而,我只是看着这个(没有尝试过),我相信你可以潜入FontMetrics
,测量字段并在两者之间动态应用适当的尺寸{{ 1}}如上所示。我先尝试(下一个的TextView
和之前的ascent
)。
这是相关的Android指南吗?
是的,确实如此。非常。当它们具有不同的样式时,将文本放在另一个下面。就像一个标题后面跟一个标题一样,并尝试一个疯狂的猜测:它不会起作用,你的应用程序也不会与系统保持一致。见上文。
问题#3:虽然我已经下载了最新版本的Roboto,但我的中等字体看起来绝对大胆,而不是谷歌的优雅和略厚的中等字体,我如何确认我的字体实际上是不同于谷歌?
请告诉我们 完全 您需要将两个样本进行比较。字体渲染可能会受到许多不同的影响,除了许多其他因素外,每个系统都使用自己的提示算法。甚至在不同的Roboto版本和不同的Android版本之间也存在细微的变化。当然,与普通相比,媒体看起来“大胆”,但实际上并不大胆。
您可以检查 sdk / platforms / android- APIVERSION / data / fonts 文件夹中的字体。使用Ubuntu 15.04渲染(略微暗示),开箱即用,从 android-22 开始:
我认为它与sample相对应。
为了与广泛使用的内容进行比较,这是Ubuntu font family(部分)(分别为常规,中等和粗体)。在我看来,媒体也比常规更接近大胆:
Minion Pro(常规,中等,半和粗体)。它的权重更加均衡,因为它还提供了半版本的变体,但我们所说的是一种用于精细打印的衬线字体,并且在市场上有更多的时间不断改进:
我希望这会有所帮助。