如何自动调整字体大小以适合文本框的高度/宽度?

时间:2009-05-01 16:07:27

标签: flex actionscript-3

我正在尝试让文本自动调整其字体大小以填充整个文本组件。

我目前的方法是将字体大小设置为文本字符数和文本组件高度和宽度的函数,但是我找不到合适的系数来使其工作得很好。

是否有更简单或更优雅的方式?

truncateToFit是否适用于Text?我在某处读到它不能正常工作。

编辑:我忘了提到我希望它扩展到超出最大字体大小(我相信这是127)。这是怎么做到的?的scaleX?

1 个答案:

答案 0 :(得分: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);
  }

}