我正在构建文本框以在Flash中显示可变长度的消息。我的问题很简单,但答案可能不是。
我有:
如何计算显示我给它的文本所需的文本字段的宽度和高度,仅此而已?
答案 0 :(得分:6)
我能想到的最简单的事情是创建一个文本字段,设置自定义字体和文本然后获取大小:
e.g。
var field:TextField = new TextField();
field.defaultTextFormat = new TextFormat('Verdana',12,0xDEDEDE);
field.text = 'someText';
trace(field.textWidth + ' / ' + field.textHeight);
textWidth和textHeight应该为您提供正确的数字,而不是宽度和高度属性。如果您需要更多详细信息,请查看TextLineMetrics class。
HTH, 乔治
答案 1 :(得分:1)
如果您打开autoSize,它应该为您调整文本字段的高度。然后,您可以使用相同的field.textHeight
获取高度var field:TextField = new TextField();
field.autoSize = "left";
field.multiline = true;
field.defaultTextFormat = new TextFormat('Verdana',12,0xDEDEDE);
field.text = 'someText';
trace(field.textWidth + ' / ' + field.textHeight);