如何在动作脚本3中填充文本字段的顶部和底部?

时间:2011-09-06 12:09:58

标签: flash actionscript-3 actionscript padding textfield

左边的填充可以通过TextFormat.leftMargin完成 填充权可以通过TextFormat.rightMargin完成
但是TextField或TextFormat中没有topMargin或bottomMargin属性 如何填充顶部和底部?


TextField左右填充(边距)的示例代码:

var format:TextFormat = new TextFormat
format.leftMargin = 40
format.rightMargin = 40

var text:TextField = new TextField
text.defaultTextFormat = format
text.background = true
text.backgroundColor = 0xeeaaaa
text.autoSize = TextFieldAutoSize.CENTER
text.text = 'abc'

4 个答案:

答案 0 :(得分:3)

只需增加精灵的高度,例如text.height + 10,并为5像素的上下边距设置text.y = 5

答案 1 :(得分:2)

您还可以在文字前后添加空白行。结合textField对象的边框和背景属性,您可以渲染漂亮的框。代码看起来像这样:

var text:TextField = new TextField
text.defaultTextFormat = format
text.background = true
text.backgroundColor = 0xeeaaaa
text.autoSize = TextFieldAutoSize.CENTER
text.text = '\n' + 'your text here' + '\n '

如果您使用此解决方案,请不要忘记第二个空行后的空白区域。它确保显示空白行。

答案 2 :(得分:1)

目前没有预定义的选项。

但你可以text.y属性而不是top marginbottom margin

var format:TextFormat = new TextFormat;
format.leftMargin = 40;
format.rightMargin = 40;
var text:TextField = new TextField;
text.defaultTextFormat = format;
text.autoSize = TextFieldAutoSize.CENTER;
text.text = 'abc\ndef\nhij\nlmno';
var spr:Sprite = new Sprite();
spr.graphics.beginFill(0xeeaaaa,1);
spr.graphics.drawRect(0,0, text.width,text.height);
spr.graphics.endFill();
addChild(spr);
spr.addChild(text);

答案 3 :(得分:1)

我相信没有本土方法可以做到这一点。以下是受支持的CSS标记列表(它不包括任何填充,也不包括顶部或底部边距): http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/StyleSheet.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6