如何更改TextField的高度?

时间:2011-01-20 06:40:32

标签: flash actionscript-3

如果我在ActionScript 3中创建TextField,我可以使用TextFormat更改宽度,但如何更改高度?

示例:

var label : TextField = new TextField();
label.text = "Hello World!";
label.background = true;
label.backgroundColor = 0x800000;  // Red background to see TextField boundary
label.autoSize = "center";

var format : TextFormat = new TextFormat();
format.leftMargin = 20;
format.rightMargin = 20;

label.setTextFormat( format );

addChild( label );

// Setting the height explicitly doesn't work
label.height = label.width * 1.5;

3 个答案:

答案 0 :(得分:2)

autoSize是问题所在:

label.autoSize = "center"; 

删除autoSize设置允许您更改textField的高度。如果要设置对齐方式,请改用setTextFormat。

setTextFormat

答案 1 :(得分:2)

setTextFormat显然会设置TextFormat,更改文本的外观,但不会更改显示的文本字段如果要更改文本字段的宽度和高度,请使用TextField.widthTextField.height

您也可以将这些与TextField.autoSize合并:如果您在width之后设置autoSize,则TextField将仅垂直调整大小,而如果您在{height之后设置autoSize 1}},它将水平调整大小。当然,你必须在其中一个之间做出选择。

答案 2 :(得分:1)

如果要自动增加文本字段的高度,则需要设置:

label.multiline = true;
label.wordWrap = true;

Wordwrap负责处理为文本字段设置的宽度内的行尾。