2009-05-01 68 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

相关问题