左边的填充可以通过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'
答案 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 margin
和bottom 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