Просмотр полной версии : Как реализовать вертикальное выравнивание текста в TextField
Есть TextField который может принимать и двухстрочный текст "Call\n(500.0)" и однострочный "Check" высота подобрана под двухстрочный, поэтому однострочный находится не посередине поля, а вверху.
Горизонтальное выравнивание по центру я реализовал, а как реализовать вертикальное выравнивание?
TextField лежит на кнопке, надо чтобы было красиво.
Руками.
txt.y = (buttonHeight - txt.textHeight)*0.5;
Представим, что кнопка – это контейнер для текстового поля (Sprite), содержащий еще и некую графику. Тогда можно попробовать так:
// button - контейнер
// field - текстовое поле
field.y = button.height / 2 - field.textHeight / 2;
Только в данном случае следует помнить, что объекты TextField по умолчанию имеют высоту и ширину равные 100.
В цс5 это реализовано без бубнов.
В цс5 это реализовано без бубнов.
это здорово, но у меня цс4 и мигрировать пока нет времени.
Попробовал выставлять в коде высоту текста и его положение, но так как кнопки у меня заранее нарисованы в виде символов, удобнее мне показалось добавить в IDE новый слой с позиционированной однострочной надписью, и кодом я прячу либо 2строчную либо двустрочную.
Но, если бы кнопка полностью создавалась кодом, то ессно, решение с textField оказалось бы вне конкуренции.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.