2012-07-09 74 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