Выравнивание и перенос строк в TextField
Друзья! Столкнулся с неожиданной и необъяснимой проблемой.
Вот такой код настройки экземпляра TextField: Код AS3:
что я делаю не так? Спасибо. |
Автосайз вообще не для выравнивания текста, а для управления размерами и положением поля, что ясно следует из его названия.
Для выравнивания ТЕКСТА внутри поля надо использовать TextFormat#align Добавлено через 15 минут если просто хочется понять "логику", почему так — выравнивания текста при автосайзе это вынужденная мера; поле подстраивается под длину строки. Самой длинной строки. Допустим, у тебя в поле уже есть три строки скажем по 10 символов, и тут добавляется строка длиной 15. Если автосайз поля привязывет его координату к правому краю, оно расширяется влево (сохраняет координаты поля). Если при этом текст не выравнивать по правому краю, а по левому как обычно, то все строки должны будут ПРЫГНУТЬ влево вместе с левым краем поля, то есть изменят свое положение в пространстве непредсказуемым образом, что недопустимо)))) Именно для этого при установке правого автосайза включается выравнивание вправо. Теперь дальше — если ты включаешь перенос текста, то автосайз по ширине больше не нужен, поле будет менять только высоту, перенося текст который не вошел по ширине на следующую строку. Значит никто влево прыгать не будет и выравнивание по правому краю не нужно. |
Круто, спасибо, Wolsh, как всегда исчерпывающе! А я грешным делом думал, что autoSize - это и ширина, и выравнивание в одном флаконе :)
|
Часовой пояс GMT +4, время: 10:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.