Как я могу сделать отступы сверху и снизу TextField в actionscript3? - PullRequest
1 голос
/ 06 сентября 2011

Заполнение влево можно сделать с помощью 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 ]

3 голосов
/ 06 сентября 2011

Просто увеличьте высоту вашего спрайта, например text.height + 10, и установите text.y = 5 для верхнего и нижнего полей в 5 пикселей

2 голосов
/ 20 января 2012

Вы также можете добавить пустую строку до и после вашего текста.В сочетании со свойствами границ и фона объекта 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 '

Если вы используете это решение, не забывайте пробел после второй пустой строки.Убедитесь, что отображается пустая строка.

1 голос
/ 06 сентября 2011

Я верю, что нет никакого собственного способа сделать это.Вот список поддерживаемых тегов 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

1 голос
/ 06 сентября 2011

На данный момент нет предопределенной опции.

Но вы можете 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);
...