Flex 3 HtmlText вычисляет высоту неверно и полоски теги пролетают
-
10-10-2019 - |
Вопрос
В настоящее время у меня есть две проблемы с Flex 3 HTMLTEXT.
1) Когда я настраиваю свой текст HTMLText:
mytext.htmltext =u003Chtml text stored in my mysql database>
Это вычисляет высоту неправильно. В большинстве случаев выше и под текстом добавляется тонна прокладки (или пробела). Я не уверен, что произойдет, но это рассчитывает Textheath намного выше, чем обычно.
2) Если я помещаю u003Cspan>теги в свой HTML, это автоматически разжигает их (вместо того, чтобы просто игнорировать их). Я использую теги SPAN, чтобы иметь возможность динамически находить определенные части моего текста. Например:u003C/span>
u003Cspan class="salutation">Дорогой,u003C/span> u003Cspan class="tag">[Имя]u003C/span>
вставлен в мой htmltext, и я использую их, чтобы проанализировать приветствие и теги моих переменных данных.
Кто -нибудь знает какие -либо решения по этим двум вопросам? Какие -нибудь альтернативные идеи о том, как проанализировать кусочки HTML? Любой способ улучшить HTMLTEXT? Как правильно измерить Textheath и/или удалить заполнение?
Спасибо!
Решение
По сути, тег нуждается в ширине и высоте, явно установленной для правильного расчета высоты на этих элементах. Кроме того, вы можете использовать:
invalidateSize();
validateSize();
Чтобы принудительно провести проверку размера, что иногда поможет!
Другие советы
Добавьте эти две линии, прежде чем использовать любой XML:
XML.ignoreWhitespace = true; XML.prettyPrinting = false;
Это должно позаботиться о дополнительных строках выше и под вашим текстом.
Игнорировать Полосы, ведущие, и следуют за пробелами из ваших текстовых узлов.
довольно отпечатка, Когда установлено значение True, форматирует вывод XML, узлы отступления и добавление символов Newline, чтобы сделать его более читабельным, но также влияет на вывод текста. Например, когда у вас есть такая структура:<p><span class="test">This is a test.</span></p>
Flash будет выводить:
<p> <span class="test"> This is a test. </span> </p>
Это приводит к отображению вашего текста:
(newline) (newline) This is a test. (newline) (newline)
Плагин Flash удалит любые теги HTML, если
styleSheet
свойство не установлено должным образом. Так что в вашем случае это удалит<span>
теги и добавьте свои собственные<P>
а также<FONT>
Теги вместо этого, согласно любой информации, которую вы указали, используяdefaultTextFormat
или жеsetTextFormat
(Попробуйте отслеживать htmlText после того, как вы его установите - вы увидите). Вы должны установить текстовое полеstyleSheet
Свойство на реальную таблицу стилей, если вы хотите сохранить свои теги.Расположение информации, которая вам нужна с помощью HTML -тегов, является действительным способом. Я обычно использую пронумерованные заполнители, такие как {0} и
string.replace ()
вставить динамические значения.