Question

EN BREF J'ai une application flash (faite pour Flash lite - actionscript 2). Quand je charge dans mon application XML Fichier et je le traiter dans un objet. Je reçois l'entrée html correct dans un champ de texte.
Toutefois, si je hardcode l'objet , toutes les balises HTML disparaissent de l'attribut .htmlText et il y a un code placé devant le texte. Il est dans mon intention de coder en dur l'objet, puisque le chargement va beaucoup rapidement, alors xml.

longue histoire courte: string.html = true; supprime toutes les balises span, alors que je besoin ceux-ci. Comment puis-je obtenir les balises span dans le htmlText de mon textfield?

PLUS D'INFO CI-DESSOUS

Dans ma demande, je crée textfields mettre un texte en eux et puis mettre tous mis bien le bon x et la valeur y donc ils sont sous eachother.

à l'intérieur de la fonction:

//ABOVE I CREATE TEXTFIELD USING THE .CREATETEXTFIELD FUNCTION
this["text" + this._textFieldCounter].html = true;
this["text" + this._textFieldCounter].multiline = true;
this["text" + this._textFieldCounter].wordWrap = true;
this["text" + this._textFieldCounter].autoSize = true;
this["text" + this._textFieldCounter].styleSheet = this._styleSheet;
this["text" + this._textFieldCounter].condenseWhite = true;
this["text" + this._textFieldCounter].htmlText = "<span class=\"page\">" + strHtmlText + "</span>";
//trace(this["text" + this._textFieldCounter].htmlText);

Quand je trace le htmlText je reçois

<P ALIGN="LEFT">
<FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">
//here comes the strHtmlText
</FONT>
</P>

Flash mis automatiquement les p et la balise police devant mon texte. Donc, ma feuille de style ne montrera pas le style correct. Comment puis-je me débarrasser de l'alignement initial et la balise police mais toujours garder le champ de texte comme html?

EDIT En définissant un textformat j'ai trouvé un moyen de contourner ce problème ... mais
J'ai un nouveau problème:
Dans mon strHtmlText il y a Span-tags (<span class="text-in">blabla</span>), mais obtient filtrés. Pourquoi ça ? ma feuille de style ne fait rien sans ces styles.

(texte est chargé à partir d'un tableau)

Était-ce utile?

La solution

Il doit avoir quelque chose à voir avec l'ordre dans lequel vous attribuez les propriétés à l'TextField. Il devrait être: 1. ensemble field.html à true, 2. assign styleSheet, 3. htmlText ensemble. La feuille de style doit être réglé avant que le htmlText est assigné -. Je l'origine posté un lien vers la documentation AS3, mais cela est vrai pour les AS2 et AS3

Essayez ceci: Mettez un champ de texte sur la scène d'un nouveau FLA AS2. Définir son type de dynamique. Nom à « _textField ». Définir la police Verdana, 16px, Noir. Entrez « erreur. » ou quelque chose de similaire dans le champ de texte, de sorte qu'il a un texte en elle. Cliquez sur « Intégrer » polices, assurez-vous d'inclure une quantité suffisante de lettres, comme ascii ou Latin-1. Sur la ligne de temps, entrez ce code dans la première image du film.

var style:TextField.StyleSheet = new TextField.StyleSheet();
style.parseCSS("p {font-family:Verdana; font-size:12px; color:#FF0000;}");
_textField.html = true;
_textField.styleSheet = style
_textField.htmlText = "<p>This is a test.</p>";
trace (" new text:"+_textField.htmlText);

Maintenant, lorsque vous exécutez le programme, il devrait changer le texte « Ceci est un test », la couleur rouge et la taille de la police à 12 px. Il fait sur mon ordinateur. En outre, la trace imprime le texte exact même qui est attribué à htmlText.

Maintenant revenir en arrière et échanger les lignes assignant les propriétés styleSheet et htmlText. Relancer le programme. Il aura toutes les balises supplémentaires que vous plaigniez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top