Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Центрирование текста по гор. и верт. (http://www.flasher.ru/forum/showthread.php?t=178563)

Halfist 24.04.2012 15:11

Центрирование текста по гор. и верт.
 
Как отцентрировать текст в TextField не только по ширине, но и по высоте, когда height задан либо вручную, либо через autoSize.

bublic_bicubic 24.04.2012 15:20

по вертикали TextField отцентрировать только вручную

Halfist 24.04.2012 15:21

А нет свойств, позволяющих задать верхний / нижний margin / padding?

bublic_bicubic 24.04.2012 15:22

таких тоже нет

Добавлено через 5 минут
я неверно выразился, по вертикали можно отцентрировать программно, но программу писать самому.
Код AS3:

//var tf:TextField;
tf.text = "Строка";
tf.y += ( tf.height - tf.textHeight - 4 ) / 2; // центрируем
tf.height = tf.textHeight + 4; // меняем высоту текста, чтобы убрать лишнее


Halfist 24.04.2012 15:30

Спасибо за код. Есть ещё один вопрос: почему не применяется TextFormat в следующем участке кода?

Код AS3:

function Tip(obj,msg:String)
{
        var tf = new TextField();
        tf.height = 22;
        tf.width = 50;
        tf.backgroundColor = 0xffffff;
        tf.background = true;
        tf.border = true;
        tf.selectable = false;
        tf.text = msg;
        tf.autoSize = TextFieldAutoSize.CENTER;
        var tfFormat:TextFormat = new TextFormat();
        tfFormat.align = TextFormatAlign.CENTER;
        tfFormat.font = "Tahoma";
        tfFormat.size = 14;
        tf.defaultTextFormat = tfFormat;
        obj.addEventListener(MouseEvent.MOUSE_OVER,function(event:MouseEvent){
                                                addChild(tf);
                                                });
        obj.addEventListener(MouseEvent.MOUSE_MOVE,function(event:MouseEvent){
                                                tf.x = event.localX+obj.x+2;
                                                tf.y = event.localY+obj.y-tf.height-2;
                                                });
        obj.addEventListener(MouseEvent.MOUSE_OUT,function(event:MouseEvent){
                                                removeChild(tf);
                                                });
}


bublic_bicubic 24.04.2012 15:38

попробуй еще дополнительно написать
Код AS3:

tf.setTextFormat( tfFormat );


Halfist 24.04.2012 15:48

Спасибо, заработало.

КорДум 24.04.2012 15:50

Потому что сначала задаем стиль, а потом уже текст, а не наоборот.

Wolsh 24.04.2012 19:31

default... до, set... после.
default... для всего будущего, set... для фрагмента текста, уже существующего.
Не надо "дополнительно". Надо "осмысленно".


Часовой пояс GMT +4, время: 08:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.