Гибкая проблема переноса слов с несколькими текстовыми экземплярами - PullRequest
0 голосов
/ 03 июня 2010

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

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

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

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

1 Ответ

0 голосов
/ 03 июня 2010

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

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

...