【问题标题】:Roboto inconsistent font heightRoboto字体高度不一致
【发布时间】:2012-08-15 08:03:41
【问题描述】:

我目前在使用 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 系列的所有字体都相同,除了 Roboto-Light.ttf。如果需要,我还可以发布布局的源代码。

提前致谢。

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

【问题讨论】:

  • 我想您对此无能为力,只能尝试使用尺寸并使用 12.9sp 之类的更大尺寸。
  • 感谢您的图片。无论如何,这不是最好的方法,因为我无法预测当那些 SP 被计算为像素时它会如何表现。我为 textSize 尝试了 18 和 19 像素(在我的 hdpi 设备上它等于 12sp),我得到了相同的错误结果。我的观点是,即使我使用 12.9sp,在更小(或更大)的屏幕上也可能存在相同的问题。

标签: android font-size


【解决方案1】:

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

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

【讨论】:

  • 好主意,我一定会尝试并得到结果。
  • 谢谢!我用android:gravity="center"把它们做成RelativeLayout,然后让右边的那个在顶部和底部对齐。您的解决方案之上的另一件事是,我必须将 android:gravity="bottom" 设置为两个 TextViews。感谢您的帮助。
猜你喜欢
  • 2018-02-17
  • 2016-06-24
  • 1970-01-01
  • 2016-12-01
  • 2015-06-15
  • 2016-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多