Показать сообщение отдельно
Старый 12.06.2020, 18:08
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Автосайз вообще не для выравнивания текста, а для управления размерами и положением поля, что ясно следует из его названия.
Для выравнивания ТЕКСТА внутри поля надо использовать TextFormat#align

Добавлено через 15 минут
если просто хочется понять "логику", почему так — выравнивания текста при автосайзе это вынужденная мера; поле подстраивается под длину строки. Самой длинной строки. Допустим, у тебя в поле уже есть три строки скажем по 10 символов, и тут добавляется строка длиной 15. Если автосайз поля привязывет его координату к правому краю, оно расширяется влево (сохраняет координаты поля). Если при этом текст не выравнивать по правому краю, а по левому как обычно, то все строки должны будут ПРЫГНУТЬ влево вместе с левым краем поля, то есть изменят свое положение в пространстве непредсказуемым образом, что недопустимо)))) Именно для этого при установке правого автосайза включается выравнивание вправо.
Теперь дальше — если ты включаешь перенос текста, то автосайз по ширине больше не нужен, поле будет менять только высоту, перенося текст который не вошел по ширине на следующую строку. Значит никто влево прыгать не будет и выравнивание по правому краю не нужно.
__________________
Reality.getBounds(this);