2010-06-03 2 views
0

У меня есть сценарий, в котором я хочу динамически добавлять слова текста в контейнер, чтобы он составлял абзац текста, который аккуратно завернут в соответствии с размером родительского контейнера. Каждый текстовый элемент будет иметь различное форматирование и будет иметь разные параметры взаимодействия с пользователем. Например, представьте, что текст «только что говорил». Каждое слово будет добавлено в контейнер по одному во время выполнения. Имя пользователя в этом случае будет выделено жирным шрифтом, и если щелкнуть по нему, это вызовет событие. То же самое с новостной статьей. Остальная часть текста - это просто текст, который при нажатии не будет делать ничего.Сложная проблема с wordwrap с несколькими экземплярами текста

Теперь я использую Flex 3, поэтому у меня нет доступа к новым инструментам форматирования текста. Я реализовал решение, в котором слова нанесены на холст, но это означает, что слова обернуты в определенную позицию y (произвольное значение, которое я выбрал). Когда размер контейнера изменяется, слова все еще обматываются в этом положении, что оставляет много места.

Я думал о добавлении каждого текстового элемента в коллекцию массивов и использовании этого в качестве источника данных для списка плиток, но в списках плиток не поддерживаются переменные ширины столбцов (в моих ограниченных знаниях), поэтому каждое слово будет использовать ту же сумму пространства, которое не является идеальным.

Кто-нибудь знает, как я могу наложить слова на контейнер, чтобы сохранить форматирование, события и перенос слов на уровне абзаца, даже если размер контейнера изменился?

ответ

0

Почему вы не используете текстовый компонент и текст html mx: Text (вы можете вызывать функции из htmlText) и применяете другое форматирование с использованием тегов html.

Для получения информации о том, как вызвать функцию из поля HTMLText: http://www.adobepress.com/articles/article.asp?p=1019620

Смежные вопросы