2011-05-20 61 views
11

我正在開發一個應用程序,顯示對字體寬度非常敏感的ascii藝術等信息。我一直在使用等寬字體,但效果不好,因爲在信息中有寬字符(如中文和日文字符),並且textview不會將寬字符作爲常規字符寬度兩倍。因此,我試圖查看是否有可能改變textview中字體的寬度,或者有更好的方法來解決這個問題?在我的應用程序中安裝另一個等寬字體是個好主意嗎?任何輸入是不勝感激。謝謝。如何在Android textview中設置字體寬度?

凱文

回答

27

您可以嘗試

textView.setTextScaleX(1.5f); 

textView.setTextSize(20); 

textView.setTypeface(Typeface.MONOSPACE); //all characters the same width 

有了這三種方法,我希望你可以設置字體爲一個理想的外觀。

+0

謝謝你的回覆。看起來setTextScaleX根據其原始寬度調整字體寬度。因此,寬度與原始寬度成比例,而不是使所有字體寬度相同。有沒有辦法解決這個問題?謝謝。 – Kevin 2011-05-21 07:23:31

+0

我有你,請查看我編輯的答案。 – Lumis 2011-05-21 09:48:54

+0

等寬字體適用於使常規字符等寬。它似乎不適用於寬字符。爲了正確顯示ascii藝術,寬字符需要是普通字符的兩倍寬。例如, aaaaaaaa aaaa 這兩個字符串在終端上的長度應該相同。維基百科說,等寬字體不支持寬字符語言,如中文和日文。 http://en.wikipedia.org/wiki/Droid_(font) 因此,它無法正確呈現寬字符的寬度,所以我希望找到一種方法來設置寬字符的寬度。謝謝。 – Kevin 2011-05-21 13:11:32

相關問題