2009-05-01 71 views
11

我想讓文本自動調整字體的大小來填充整個文本組件。如何自動調整字體大小以適合文本框的高度/寬度?

我目前的做法是將字體大小設置爲文本字符數和文本組件高度和寬度的函數,但我無法找到正確的係數使其很好地工作。

有沒有更簡單或更優雅的方式?

truncateToFit在文本上工作嗎?我在某處看到它不太好。

編輯:我忘了提及,我希望它縮放超過最大字體大小(這是我相信127)。這是如何完成的?將scaleX?

回答

21

AS3示例函數。你應該隨時調用它TextField的內容變化

function Autosize(txt:TextField):void 
{ 
    //You set this according to your TextField's dimensions 
    var maxTextWidth:int = 145; 
    var maxTextHeight:int = 30; 

    var f:TextFormat = txt.getTextFormat(); 

    //decrease font size until the text fits 
    while (txt.textWidth > maxTextWidth || txt.textHeight > maxTextHeight) { 
    f.size = int(f.size) - 1; 
    txt.setTextFormat(f); 
    } 

} 
+0

我投了票,謝謝你的提示。你知道如何擴展到145以上嗎? – Brandon 2009-05-01 23:42:49

+0

我的意思是最大字體大小。 – Brandon 2009-05-01 23:43:25

+0

對不起,我不知道如何縮放字體大小超過145 – 2009-05-02 00:05:13

相關問題