2011-01-20 67 views
0

如果我在ActionScript 3中創建了TextField,我可以用TextFormat更改寬度,但是如何更改高度?如何更改TextField的高度?

例子:

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; 

回答

2

的autoSize的問題是:

label.autoSize = "center"; 

刪除的autoSize設置允許您更改文本框的高度。如果你想設置對齊,請改用setTextFormat。

setTextFormat

+0

啊,這確實有用。出於某種原因,當我第一次嘗試刪除它時似乎沒有什麼區別。 – Alex 2011-01-20 17:07:20

2

setTextFormat顯然會設置一個TextFormat,改變你的文字的外觀,但不會改變其顯示在文本字段。如果你想改變的寬度和高度您的文本字段使用TextField.widthTextField.height

您可以將那些TextField.autoSize還有:如果設置widthautoSize後,該文本字段只會垂直調整,而如果設置heightautoSize後,它將水平調整大小。當然,你必須選擇其中之一。

1

如果你想自動增加一個文本框的高度,你需要設置:

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

自動換行需要你的文本字段設置寬度內的行末的照顧。