Flex 3 HtmlText вычисляет высоту неверно и полоски теги пролетают

StackOverflow https://stackoverflow.com/questions/4663227

  •  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();

Чтобы принудительно провести проверку размера, что иногда поможет!

Другие советы

  1. Добавьте эти две линии, прежде чем использовать любой 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)
    
  2. Плагин Flash удалит любые теги HTML, если styleSheet свойство не установлено должным образом. Так что в вашем случае это удалит <span> теги и добавьте свои собственные <P> а также <FONT> Теги вместо этого, согласно любой информации, которую вы указали, используя defaultTextFormat или же setTextFormat (Попробуйте отслеживать htmlText после того, как вы его установите - вы увидите). Вы должны установить текстовое поле styleSheet Свойство на реальную таблицу стилей, если вы хотите сохранить свои теги.

  3. Расположение информации, которая вам нужна с помощью HTML -тегов, является действительным способом. Я обычно использую пронумерованные заполнители, такие как {0} и string.replace () вставить динамические значения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top