自动调整文本大小以适应按钮的宽度

时间:2012-04-09 16:36:44

标签: actionscript-3 flash flash-cs5

我好好看看,但找不到任何可以直接解决问题的东西。右边有几个帖子,但为了解决这个问题,我无法理解它。

我需要自动调整文本大小,使其不超过按钮的宽度。我的文字大小的最大长度在变得太大之前显示为13个字符。

-

程序首先动态创建几个按钮,并在XML文档中设置标题和描述。

要添加文本我有这段代码:

var tform:TextFormat = new TextFormat();
tform.size = 20;
tform.font = "Arial";
tform.align = TextFormatAlign.CENTER;
tform.color = 0xFFFFFF;
tform.bold = true;

var tfield:TextField = new TextField();
tfield.text = texttitle;
tfield.width = button.width;
tfield.x = 0;
tfield.y = 30;

tfield.setTextFormat(tform);
addChild(tfield);

这将文本直接放在按钮中央,距离顶部30个像素。我面临的问题是如何修改字体大小以保持文本在框内。

-

现在,因为我将宽度设置为面板的大小,所以我看不到任何明显的循环方式来根据允许的最大宽度设置字体大小。

我相信这一切都是有道理的,我欢迎任何修改,以使代码更高效,因为我对AS3和Flash相对较新,因此我仍处于学习曲线上。

此致 乔恩。

1 个答案:

答案 0 :(得分:2)

我遇到了这个问题并通过循环文本设置解决了这个问题,直到它适合

这个

的内容
while (tf.textwidth > button.width){
   myTextFormat.size = myTextFormat.size - 1;
   tf.setTextFormat(myTextFormat);
   tf.autoSize = "left";
}