【问题标题】:TextView with custom font isn't centered vertically具有自定义字体的 TextView 未垂直居中
【发布时间】:2014-08-28 09:46:37
【问题描述】:

我需要使用自定义字体(VAG Rounded,可能不相关),但字体会改变我的 TextView 的反应方式。

在下图中,您可以看到两个带有黑色背景的文本视图。左侧使用自定义字体,右侧使用默认系统字体(Roboto?)。它们都具有相同的 xml 属性和大小,但填充不一样,更重要的是,左边的没有垂直居中!

我怎样才能让 TextView 将其内容很好地居中绘制?

【问题讨论】:

  • centered ...你的意思是垂直吗?
  • 最好尝试另一种字体,如果可行的话?另外,还可以根据需要使用 center_horizo​​ntally 或 vertical。

标签: android fonts textview


【解决方案1】:

您可以尝试从文本样式 (styles.xml) 中删除自定义字体填充:

<item name="android:includeFontPadding">false</item>

如果这仍然不起作用,我会在您的样式 xml 中设置一个通用的padding

【讨论】:

  • 这很好用,对于某些字体,您仍然需要设置填充,但这会删除工件填充。
【解决方案2】:

我认为你必须设置android:layout_height="match_parent",然后还要设置android:gravity="center"

如果您也发布您的源代码,我们可以为您提供更多信息

【讨论】:

    【解决方案3】:

    我无法更改字体,我也不打算使用编辑器编辑每个字符(我什至不知道我应该做些什么来修复它)。

    我最终用默认字体测量了差异,并在填充顶部添加了0.15f * fontSize...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-16
      • 2013-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多