7

我目前正面临着 Android 字体 Roboto 的奇怪问题。起初,我在一个水平 LinearLayout 中有两个 TextView,垂直和水平居中。第一个 TextView 的字体设置为 Roboto-Black.ttf,第二个为 Roboto-Light.ttf。两者都设置为 textSize="12sp",但带有 Roboto-Light.ttf 的那个仅比 Roboto-Black.ttf TextView 高一个像素。但是当我设置 textSize="13sp" 时它并没有发生。因此,我创建了新的 Android 项目,以确保它不仅在一个应用程序中。结果几乎相同,但在这种情况下, textSize="12sp" 按预期工作,但 textSize="13sp" 没有。我已经制作了屏幕截图来显示问题。

12sp 按预期工作。顶部边缘对齐。 图片

13sp 有这种奇怪的行为。 图片

奇怪的是,这种情况只有在我尝试混合薄衬里和厚衬里变体时才会发生。当我制作一个 TextView Roboto-Bold.ttf 和第二个 Roboto-Black.ttf 时,结果很好。当我尝试 Roboto-Light.ttf 和 Roboto-Thin.ttf 时,它也能正常工作。

所以我也尝试在 Photoshop 中对此进行测试,这就是我发现的:

图片

除了 Roboto-Light.ttf 之外,Roboto 系列的所有字体都是一样的。如果需要,我还可以发布布局的源代码。

提前致谢。

PS:对于链接,我很抱歉,但由于声誉低(全新帐户),我无法发布图片。同样在最后一个链接中,我必须从“http”中删除“h”,因为它不允许我超过两个链接。

4

1 回答 1

1

我不能告诉你它是否是字体,或者你的手机如何解释字体并将它们显示在屏幕上,但我可以告诉你,我以前在中间居中视图时遇到过问题。

您是否尝试过使用 relativelayout,然后将第二个 textviews 顶部和 bot 与第一个 textview 对齐?那可能会解决问题。

于 2012-08-22T09:53:23.783 回答