Это прекрасно работает только в том случае, если текст в одной строке.
Сначала вы должны добавить начальную строку разрыва в каждом тексте. Я сделал это в новом компоненте, расширяющем TextField и переопределяющем функцию «text», добавляя символ начальной строки разрыва.
import flash.text.TextField;
public class MyTextField extends TextField
{
public function MyTextField()
{
super();
}
public override function set text(value:String):void
{
value = "\n" + value;
super.text = value;
}
}
Затем вам нужно применить форматирование к тексту, используя свойство "lead", которое представляет величину вертикального промежутка между строками.
myTextFormat = new TextFormat();
// This is the existent horizontal align
myTextFormat.align = TextFormatAlign.CENTER;
// This is my simulated vertical align. Remember that the first character
// is always a break line. In most cases it will be a negative value...
myTextFormat.leading = -22;
var myTextField:MyTextField = new MyTextField();
myTextField.text = "Hello";
myTextField.setTextFormat(myTextFormat);
Надеюсь, это поможет тем, кому нужно выравнивание по вертикали в однострочном тексте с использованием TextField.
: -)