Domanda

Al momento ho due problemi con Flex 3 htmlText.

1) Quando mi pongo il mio testo htmlText:

myText.htmlText =

Si calcola il modo in cui l'altezza sbagliata. Nella maggior parte dei casi, una tonnellata di imbottitura (o spazi) viene aggiunto sopra e sotto il testo. Non sono sicuro di quello che accade, ma calcola il modo textHeight superiore normalmente.

2) Se metto tag nel mio html, li spoglia automaticamente (invece di ignorarli). Sto usando i tag span per essere in grado di trovare in modo dinamico alcuni pezzi del mio testo. Per esempio:

Caro, [Nome]

è inserito nel mio htmlText, e li usa per analizzare fuori il saluto e la modifica dei dati variabili.

Qualcuno sa di eventuali soluzioni per questi due aspetti? Tutte le idee alternative su come analizzare fuori pezzi di html? Un modo per migliorare htmlText? Come misurare correttamente textHeight e / o imbottitura rimuovere?

Grazie!

È stato utile?

Soluzione

In sostanza, le esigenze dei tag larghezza e l'altezza in modo esplicito impostata affinché flex per calcolare l'altezza correttamente su questi elementi. Inoltre, è possibile utilizzare:

invalidateSize();
validateSize();

Per la convalida dimensioni forza a verificarsi, che sarà a volte aiuto!

Altri suggerimenti

  1. Aggiungere queste due righe prima di utilizzare qualsiasi XML:

    XML.ignoreWhitespace = true;
    XML.prettyPrinting = false;
    

    Questo dovrebbe prendersi cura delle linee aggiunte sopra e sotto il testo.

    ignoreWhitespace strisce spazi iniziali e finali dal vostro nodi di testo.
    prettyPrinting , se impostato su true, formatta l'output XML , rientri nodi e l'aggiunta di caratteri di nuova riga per renderlo più leggibile - ma anche che interessano l'output di testo. Ad esempio, quando si dispone di una struttura come questa:

    <p><span class="test">This is a test.</span></p>
    

    uscita lampeggia:

    <p>
        <span class="test">
            This is a test.
        </span>
    </p>
    

    Questo porta alla tua TextField visualizzazione:

    (newline)
    (newline)
    This is a test.
    (newline)
    (newline)
    
  2. Il plugin Flash rimuoverà qualsiasi tag HTML, se la proprietà styleSheet non è correttamente impostato. Quindi nel tuo caso, rimuoverà i tag <span> e aggiungere i propri <P> e <FONT> tag, invece, in base a tutte le informazioni di carattere che hai specificato utilizzando defaultTextFormat o setTextFormat (provate a tracciare htmlText dopo hai impostato - si vedrà) . È necessario impostare la proprietà styleSheet del TextField ad un foglio di stile vero e proprio, se si desidera mantenere i propri tag.

  3. Analizzare le informazioni necessarie utilizzando i tag HTML è un modo valido per andare. Io di solito uso segnaposto numerati come {0} e string.replace () per inserire i valori dinamici.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top