自定义字体的TextView垂直居中对齐有偏差

8
我需要使用自定义字体(VAG Rounded,可能与问题无关),但字体会影响我的TextView的显示效果。
在下面的图片中,您可以看到有两个带黑色背景的textviews。左边使用了自定的字体,右边使用默认的系统字体(Roboto?)。它们都具有相同的xml属性和大小,但填充不同,更重要的是,左边的文本框垂直居中对齐失败!
如何使TextView绘制其内容并垂直居中对齐呢?

1
“centered” … 你是指 垂直居中 吗? - Phantômaxx
如果这个字体不行的话,最好尝试另一个字体。此外,根据您的需要使用center_horizontally或vertically。 - Saqib
3个回答

14

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

<item name="android:includeFontPadding">false</item>
如果仍然无法解决问题,我会在您的样式XML中设置通用的padding

这个很好用,对于某些字体仍然需要设置填充,但这可以去除杂质填充。 - M.kazem Akhgary

0

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

所以最后我测量了与默认字体的差异,并在填充顶部中添加了0.15f * fontSize...


0

我认为你需要设置android:layout_height="match_parent",然后再设置android:gravity="center"

如果你也能发布你的源代码,我们可以给你更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接