大家好,我正在使用以下函数在运行时缩放动态字体大小,如下所示:
function scaleTextToFitInTextField( txt : TextField ):void{
var f:TextFormat = txt.getTextFormat();
f.size = ( txt.width > txt.height ) ? txt.width : txt.height;
txt.setTextFormat( f );
while ( txt.textWidth > txt.width - 4 || txt.textHeight > txt.height - 6 ){
f.size = int( f.size ) - 1;
txt.setTextFormat( f );
}
}
scaleTextToFitInTextField( tf );
// tf is a dynamic multiline textfield on stage with dimension 150x150
这个想法是,当文本字段填充有外部内容时,它会减小字体大小以使所有文本都适合文本字段。这项工作到目前为止。
我现在最大的问题是这个函数会干扰文本字段 html 格式。例如; 我加载一个外部 html:
<font size="-2">this text is way</font><br><font size="+5">TOO BIG</font><br>to fit in this box, but I'll give it a try!
将缩放功能应用于文本字段后,html 格式(大小变化)不起作用,但如果我删除缩放功能,它会起作用。
理想情况下,如果文本太大而无法适应,我希望能够缩放字体,并且也能够应用 html 格式。
有人请帮忙。我正在使用 CS5
非常感谢。