动态文本 - 字体自动调整大小

动态文本 - 字体自动调整大小

问题描述:

我有动态文本字段,必须是固定的宽度和高度。动态文本 - 字体自动调整大小

将填充动态文本字段的实际文本是可变的。

我想要做的就是减小字体的大小,如果文本没有完全显示在文本字段的尺寸。

关于如何准确执行此操作的任何想法?

另外,我使用的AS 2.

感谢

这应该工作:

function updateFontSize(tField:TextField, defaultSize:Number) { 
var tFormat:TextFormat = new TextFormat(); 
tFormat.size = defaultSize; 
tField.setTextFormat(tFormat); 

var size:Number = defaultSize; 
while((tField.textWidth > tField._width || tField.textHeight > tField._height) && size > 0) { 
    size = size - 1; 
    tFormat.size = size; 
    tField.setTextFormat(tFormat); 
}} 

调用此函数,只要你改变你的文字。该功能的第一个参数是文本字段。第二种是你喜欢的字体大小(如果它太大,会减小)。

上SomeBloke的代码之后,下面是使用另一种方法缩放

 
//set the TextField width & height 
var fixedWidth:Number = 200; 
var fixedHeight:Number = 24; 

function scaleTextToSize(tField:TextField, defaultScale:Number) 
{ 
    //You can fine tune the amount of scaling here 
    var amount:Number = .1; 
    var scale:Number = defaultScale; 

    while((tField.width > fixedWidth || tField.height > fixedHeight)) 
    { 
     scale -= amount; 
     tField.scaleX = tField.scaleY = scale; 
    } 
}