如何让textfield的宽度自动适合文本?

时间:2012-10-23 06:25:28

标签: actionscript-3 flash

最近我在考虑制作一个类似于html表格标签的组件。

html表可以自动调整单元格的宽度,其中包含文本或内容。特定列的宽度由该列上最宽的单元格决定。

<table>
    <tr>
        <td>this could be very long.</td>
    </tr>
    <tr>
        <td>short</td>
    </tr>
</table>

但在as3这是一个问题,我不知道字符串的实际大小,除非我将其设置为文本字段。我不认为使用实际的文本字段实例尝试和调整大小是一个好策略,所以如果你有更好的方法,请告诉我。

2 个答案:

答案 0 :(得分:3)

首先,您需要启用自动调整大小:

textField.autoSize = TextFieldAutoSize.LEFT;

然后,如果要读取生成的文本大小,可以使用:

var width:Number = textField.textWidth;
var height:Number = textField.textHeight;

答案 1 :(得分:0)

您还可以使用String#length属性来获取文本长度。

var str:String = "some string data";
trace(str.length);