2011-02-17 21 views
3

我的Android應用程序以幾種不同的方式顯示文本,並且它們之間存在一些惱人的差異,我希望人們可以幫助。Android文本顯示 - Canvas.drawText()輸出像素化

當我使用可能被稱爲「自動」的顯示方法時,文本顯示得非常好。通過自動方法,我指的是Toast和Button小部件等工具,我只需提供文本,而操作系統(或「環境」或其他)顯示給我。這些字母很好地彎曲,看起來很舒服,而且容易辨認。

但是,在我處理文本顯示的代碼中(在Surface Runner視圖中使用Canvas.drawText()),文本質量很差。文本仍然清晰,但看起來像素化。這些信件看起來並不盡如人意。

我試過試用Paint.setTypeface(),例如使用Typeface.SANS_SERIF,但是當它是我的代碼時,顯示質量總是很差。可行,但可憐。

有沒有人經歷過這個?任何人有任何解決方案嗎?

回答

14

你也可以嘗試玩Paint.setAntiAlias(boolean)Paint.setSubpixelText(boolean)

+2

我不確定setSubpixelText()對我的代碼有什麼影響,但是setAntiAlias()在文本上效果很好。我的代碼的圖形部分有一些東西繪製在其他東西之上,如果啓用了抗鋸齒功能,結果看起來很奇怪......但是,切換反鋸齒並不是問題,必要時關閉。所以,非常感謝你! – Rich 2011-02-18 14:19:29