PDA

Просмотр полной версии : Вертикальное выравнивание внутри TextField-а.


Torero
10.10.2007, 08:38
Как лучше реализовать сабж?

var tf:TextField=new TextField();
tf.htmlText="<b>some text...</b>"
tf.height=400;
//как вертикально выровнять текст по центру?
addChild(tf);

P.S.Просьба не советовать менять координаты TextField-а - интересует именно выравнивание текста внутри поля.
P.P.S. Что стало с Поиском на Флэшере? Он выдает только самые последние темы.

----------------------------------
есть простенький вариант:

var tf:TextField=new TextField();
tf.htmlText="<b>some text...</b>"
trace(tf.textHeight); //18
tf.htmlText="<font size='10'><br></font>"+tf.htmlText;
trace(tf.textHeight); //30

все-бы хорошо, но таким способом смещение возможно только на высоту от 2 до 162 точек.
Подскажите пжл.более универсальный подход.

vvk80
11.10.2007, 14:01
возможно стоит копать в сторону класса TextLineMetrics и метода TextField.getLineMetrics().
В книге Programming AS3 был пример вертки "газеты" на Flash, где был приведен кусок кода, позволяющего управлять размером шрифта в зависимости от ширины текстового поля. Тот код, конечно, не совсем то, что нужно, но по крайней мере это, возможно, направление.

Книгу ищите на сайте Adobe (она бесплатна, по крайней мере была пару месяцев назад...)

chudesno
15.10.2007, 22:00
А помоему неззя никак кроме как координатами текстового поля

Sledge
06.04.2011, 20:50
Актуально, может есть у кого промышленное решение?
Спасибо.

fish_r
06.04.2011, 21:26
А через blockIdent (http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/text/TextFormat.html#blockIndent) TextFormat()-а не пробовали? Или через StyleSheet (http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/text/StyleSheet.html)?

Art_133
06.04.2011, 22:03
Если компилите под FP10 поменяйте TextField на TLFTextField. Тут есть выравнивание по вертикали.