2012-07-09 75 views
1

您可以使用setTextSize()控制绘制到画布中的文本字符的高度。例如,如果你想要的高度8个像素的文字,你可以这样写:设置Android字符宽度

mPaint.setTextSize(8); 

这工作得相当好。但是,我似乎无法找到设置宽度的方法。因此8x12像素字符看起来与12x12字符完全相同。我使用等宽字体,并且要仔细控制画布中每个字符的大小。

有关如何以像素为单位设置字符宽度的任何想法?

回答

1

我相信文字的垂直高度被认为是文字的“尺寸”,而水平宽度被认为是“尺度”。例如,如果您使用的是涂料绘制文本到画布上,该漆具有方法称为getTextScaleXsetTextScaleX,你可以用它来:

获取[和设置]油漆的水平标尺因数文本。

取决于你如何使用画布这些可能是你要使用的方法 - 文字处理水平文本间距最其它的方法,而不是修改实际字符本身的大小。

+0

谢谢,setTextScaleX()修复了它。接下来的问题是文本没有正确的单间隔。我讨厌每次渲染每个角色。仍然必须解决这个问题... – Batdude 2012-07-09 22:11:55

+0

你正在使用Droid Mono字体吗?当您改变水平文本比例时,间距/字距可能不会很好。究竟是什么,它“不是正确的单间隔?” – matt5784 2012-07-09 22:20:52

+0

P.s.如果它对你有帮助,考虑'接受'我的答案(通过点击复选框大纲) - 你也可以考虑回到你的旧问题并接受他们中的一些人的答案。这通常很好,因此未来的观众知道哪个解决方案适合您(如果他们有同样的问题)。 – matt5784 2012-07-09 22:21:46