гибкий текстовый поток - PullRequest
0 голосов
/ 24 июня 2009

В моем гибком приложении у меня есть такие сценарии: родитель ребенок Vbox-> Canvas-> Sprite-> TextFlow

В этом сценарии теперь мне нужна динамическая высота текстового потока и его родителей. Здесь корневой родительский элемент - это элемент разборки сетки данных, которую я имею.

Мне нужно настроить высоту строк в соответствии с содержанием в ней.

Сейчас я импортирую xml в текстовый поток, затем получаю количество строк и высоту текста. Затем удалите поток текста и добавьте его снова с измеренной высотой в соответствии с количеством строк и высотой текста.

Как мне добиться этого, не удаляя и не добавляя его снова, потому что обновление занимает много времени?

Заранее спасибо.

1 Ответ

0 голосов
/ 06 апреля 2011

Право может быть немного поздно, чтобы ответить на этот вопрос, но кто-то другой может извлечь выгоду. На холст или экранный объект, содержащий TextFlow и спрайт, добавьте функцию creationComplete.

Я не знаю, нужен ли этот шаг, но он работает для меня. Добавьте метку с текстом, который будет идти в TextFlow (с тем же шрифтом и fontSize), также добавьте к этому прослушиватель завершения создания.

Получить высоту и ширину из вновь созданной метки e.target.width e.target.height (в функции прослушивания создания метки). Задайте для этих значений высоту и ширину displayObjects (в описанном выше Canvas), а затем добавьте спрайт и текстовый поток.

Примечание: для меня это был ленивый способ, лейбл использует measureText, который был бы более эффективным способом сделать это.

...