Package | flash.text |
Classe | public dynamic class StyleSheet |
Héritage | StyleSheet EventDispatcher Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Pour appliquer des styles à un objet TextField, attribuez l’objet feuille de style à une propriété styleSheet
.
Remarque : tout champ de texte associé à une feuille de style n’est pas modifiable. En d’autres termes, un champ de texte dont la propriété type
est définie sur TextFieldType.INPUT
applique la feuille de style au texte par défaut du champ de texte, qui à partir de ce moment ne peut plus être modifié par l’utilisateur. Préférez la classe TextFormat pour affecter des styles aux champs de saisie.
Flash Player prend en charge un sous-ensemble de propriétés dans le cadre de la spécification CSS1 d’origine (www.w3.org/TR/REC-CSS1). Le tableau suivant présente les propriétés et les valeurs de la feuille de style en cascade (CSS) prises en charge, ainsi que les noms de propriétés ActionScript correspondants (chaque nom de propriété ActionScript est tiré du nom de propriété CSS correspondant. Si le nom contient un trait d’union, le trait d’union est omis et le caractère suivant est une majuscule).
Propriété CSS | Propriété ActionScript | Utilisation et valeurs prises en charge |
---|---|---|
color
|
color
| Seules les valeurs hexadécimales de couleur sont supportées. Les couleurs nommées (comme blue ) ne sont pas prises en charge. Les couleurs sont écrites au format suivant : #FF0000 . |
display
|
display
| Les valeurs supportées sont inline , block et none . |
font-family
|
fontFamily
| Liste des polices à utiliser, séparées par des virgules, classées par ordre de choix décroissant. Tous les noms de familles de polices peuvent être utilisés. Si vous spécifiez un nom de police générique, il est converti dans la police de périphérique appropriée. Les conversions de police suivantes sont disponibles : mono est converti en _typewriter , sans-serif en _sans et serif en _serif . |
font-size
|
fontSize.
| Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
font-style
|
fontStyle
| Les valeurs reconnues sont normal et italic . |
font-weight
|
fontWeight
| Les valeurs reconnues sont normal et bold . |
crénage
|
crénage
| Les valeurs reconnues sont true et false . Le crénage est supporté uniquement pour les polices incorporées. Certaines polices, telles que Courier New, ne supportent pas le crénage. La propriété de crénage n’est supportée que dans les fichiers SWF créés dans Windows, pas dans les fichiers SWF créés sur Macintosh. Cependant, ces fichiers SWF peuvent être lus dans des versions de Flash Player autres que Windows et le crénage s’applique encore. |
leading
|
leading
| La quantité d’espace répartie uniformément entre les lignes. La valeur spécifie le nombre de pixels à ajouter après chaque ligne. Une valeur négative comprime l’espace entre les lignes. Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
letter-spacing
|
letterSpacing
| La quantité d’espace répartie uniformément entre les caractères. La valeur spécifie le nombre de pixels à ajouter après chaque caractère. Une valeur négative comprime l’espace entre les caractères. Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
margin-left
|
marginLeft
| Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
margin-right
|
marginRight
| Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
text-align
|
textAlign
| Les valeurs reconnues sont left , center , right et justify . |
text-decoration
|
textDecoration
| Les valeurs reconnues sont none et underline . |
text-indent
|
textIndent
| Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
styleNames : Array [lecture seule]
Tableau qui contient les noms (sous formes de chaînes) de tous les styles enregistrés dans cette feuille de style. | StyleSheet |
Méthode | Défini par | ||
---|---|---|---|
Crée un objet StyleSheet. | StyleSheet | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | ||
Supprime l’ensemble des styles de l’objet feuille de style spécifié. | StyleSheet | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Renvoie une copie de l’objet style associé au style spécifié appelé styleName. | StyleSheet | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Analyse le CSS dans CSSText et charge la feuille de style en même temps. | StyleSheet | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Ajoute un nouveau style avec le nom spécifié à l’objet feuille de style. | StyleSheet | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Développe la capacité d’analyse du fichier CSS. | StyleSheet | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. | EventDispatcher |
styleNames | propriété |
styleNames:Array
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tableau qui contient les noms (sous formes de chaînes) de tous les styles enregistrés dans cette feuille de style.
Implémentation
public function get styleNames():Array
StyleSheet | () | Constructeur |
public function StyleSheet()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crée un objet StyleSheet.
Eléments de l’API associés
clear | () | méthode |
public function clear():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Supprime l’ensemble des styles de l’objet feuille de style spécifié.
getStyle | () | méthode |
public function getStyle(styleName:String):Object
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Renvoie une copie de l’objet style associé au style spécifié appelé styleName
. Si aucun objet style n’est associé à styleName
, null
est renvoyé.
Paramètres
styleName:String — Chaîne qui spécifie le nom du style à extraire.
|
Object — Un objet.
|
Eléments de l’API associés
Exemple
Comment utiliser cet exemple
Consultez l’exemple de la méthode parseCSS() ou transform() pour une illustration de l’utilisation de la méthode
getStyle()
.
parseCSS | () | méthode |
public function parseCSS(CSSText:String):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Analyse le CSS dans CSSText
et charge la feuille de style en même temps. Si l’un des styles de CSSText
existe déjà dans styleSheet
, les propriétés de styleSheet
sont conservées et seules celles de CSSText
sont ajoutées ou modifiées dans styleSheet
.
Pour développer la capacité d’analyse CSS d’origine, vous pouvez annuler cette méthode en créant une sous-classe de la classe StyleSheet.
Paramètres
CSSText:String — Le texte CSS à analyser (une chaîne).
|
Exemple ( Comment utiliser cet exemple )
Dans le constructeur, un champ de texte multiligne est créé et son contenu est défini sur une chaîne au format HTML (le titre HTML et les balises Span ne sont pas rendus tant que le style CSS n’est pas appliqué). Un objet URLRequest
est créé pour identifier l’emplacement du fichier CSS ; pour cet exemple, ce fichier se trouve dans le même répertoire que le fichier SWF. Le fichier est chargé avec un objet URLLoader
. Deux écouteurs d’événement sont ajoutés pour l’objet URLLoader loader
. Si une erreur d’E/S survient, la méthode errorHandler()
est invoquée et affiche un message d’erreur dans le champ de texte. Une fois toutes les données reçues et placées dans la propriété data de l’objet URLLoader loader
, la méthode loaderCompleteHandler()
est invoquée. Cette méthode analyse les styles CSS à partir des données chargées depuis le fichier et renseigne l’objet StyleSheet sheet
avec les définitions de style.
Lorsque l’utilisateur clique sur le champ de texte, la méthode clickHandler()
est appelée. L’instruction if de la méthode clickHandler()
s’assure que le chargement du fichier est terminé avant d’appliquer la feuille de style au champ de texte. Pour que la feuille de style prenne effet, la propriété htmlText
doit être réaffectée au contenu après que la feuille de style ait été affectée au champ de texte. Les valeurs des propriétés CSS font-family
et color
de la balise de titre sont également ajoutées au contenu du champ de texte (les valeurs de ces propriétés seront « undefined » si les valeurs de la feuille de style n’ont pas pris effet).
L’exemple suivant est un contenu de fichier CSS qui peut être utilisé avec cet exemple. Avant d’exécuter cet exemple, créez un fichier texte, copiez dans ce dernier le contenu CSS suivant, puis enregistrez le fichier sous le nom test.css
et placez-le dans le même répertoire que le fichier SWF.
p { font-family: Times New Roman, Times, _serif; font-size: 14; font-Style: italic; margin-left: 10; } h1 { font-family: Arial, Helvetica, _sans; font-size: 20; font-weight: bold; } .bluetext { color: #0000CC; }
package { import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.IOErrorEvent; import flash.events.Event; import flash.events.MouseEvent; public class StyleSheet_parseCSSExample extends Sprite { private var loader:URLLoader = new URLLoader(); private var field:TextField = new TextField(); private var exampleText:String = "<h1>This is a headline</h1>" + "<p>This is a line of text. <span class='bluetext'>" + "This line of text is colored blue.</span></p>"; private var sheet:StyleSheet = new StyleSheet(); private var cssReady:Boolean = false; public function StyleSheet_parseCSSExample() { field.x = 10; field.y = 10; field.background = true; field.multiline = true; field.autoSize = TextFieldAutoSize.LEFT; field.htmlText = exampleText; field.addEventListener(MouseEvent.CLICK, clickHandler); addChild(field); var req:URLRequest = new URLRequest("test.css"); loader.load(req); loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); } public function errorHandler(e:IOErrorEvent):void { field.htmlText = "Couldn't load the style sheet file."; } public function loaderCompleteHandler(event:Event):void { sheet.parseCSS(loader.data); cssReady = true; } public function clickHandler(e:MouseEvent):void { if (cssReady) { field.styleSheet = sheet; field.htmlText = exampleText; var style:Object = sheet.getStyle("h1"); field.htmlText += "<p>Headline font-family is: " + style.fontFamily + "</p>"; field.htmlText += "<p>Headline color is: " + style.color + "</p>"; } else { field.htmlText = "Couldn't apply the CSS styles."; } } } }
setStyle | () | méthode |
public function setStyle(styleName:String, styleObject:Object):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ajoute un nouveau style avec le nom spécifié à l’objet feuille de style. Si le style nommé n’existe pas déjà dans la feuille de style, il est ajouté. Si le style nommé n’existe pas déjà dans la feuille de style, il est remplacé. Si le paramètre styleObject
est null
, le style nommé est supprimé.
Flash Player crée une copie de l’objet style que vous transmettez à cette méthode.
Vous trouverez une liste des styles supportés dans le tableau de description de la classe StyleSheet.
Paramètres
styleName:String — Chaîne qui spécifie le nom du style à ajouter à la feuille de style.
| |
styleObject:Object — Un objet qui décrit le style, ou null .
|
transform | () | méthode |
public function transform(formatObject:Object):flash.text:TextFormat
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Développe la capacité d’analyse du fichier CSS. Les développeurs avancés peuvent annuler cette méthode en développant la classe StyleSheet.
Paramètres
formatObject:Object — Objet qui décrit le style, contenant des règles de style en tant que propriétés de l’objet, ou null .
|
flash.text:TextFormat — Objet TextFormat contenant le résultat du mappage des règles CSS en propriétés de format de texte.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
transform()
pour appliquer un style à partir d’un fichier CSS à un objet TextFormat pour un champ de texte.
Les styles CSS sont généralement utilisés pour mettre en forme du contenu HTML. Toutefois, via la méthode transform()
d’un objet StyleSheet, des styles CSS peuvent être affectés à un objet TextFormat, puis appliqués à n’importe quel champ de texte.
Les objets URLRequest
et URLLoader
sont utilisés pour charger le fichier CSS. Un écouteur d’événement est ajouté pour l’événement Event.COMPLETE
, qui survient après que toutes les données ont été reçues et placées dans la propriété data de l’objet URLLoader loader
. La méthode loaderCompleteHandler()
analyse ensuite le CSS à partir des données chargées depuis le fichier et renseigne l’objet StyleSheet sheet
avec les styles. La méthode getStyle()
de la feuille de style récupère les styles de paragraphe HTML, qui sont ensuite attribués à l’objet TextFormat cssFormat
via la méthode transform()
de la feuille de style. Enfin, le format de texte par défaut du champ de texte inputField
est défini sur le nouveau format de texte cssFormat
.
package { import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldType; import flash.events.IOErrorEvent; import flash.events.Event; public class StyleSheet_transformExample extends Sprite { private var loader:URLLoader = new URLLoader(); private var inputField:TextField = new TextField(); private var sheet:StyleSheet = new StyleSheet(); public function StyleSheet_transformExample() { inputField.x = 10; inputField.y = 10; inputField.background = true; inputField.width = 300; inputField.height = 200; inputField.wordWrap = true; inputField.multiline = true; inputField.type = TextFieldType.INPUT; addChild(inputField); var req:URLRequest = new URLRequest("test.css"); loader.load(req); loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); } public function errorHandler(e:IOErrorEvent):void { inputField.htmlText = "Couldn't load the style sheet file."; } public function loaderCompleteHandler(event:Event):void { var cssFormat:TextFormat = new TextFormat(); sheet.parseCSS(loader.data); var style:Object = sheet.getStyle("p"); cssFormat = sheet.transform(style); inputField.defaultTextFormat = cssFormat; } } }
package { import flash.display.Sprite; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class StyleSheetExample extends Sprite { public function StyleSheetExample() { var style:StyleSheet = new StyleSheet(); var heading:Object = new Object(); heading.fontWeight = "bold"; heading.color = "#FF0000"; var body:Object = new Object(); body.fontStyle = "italic"; style.setStyle(".heading", heading); style.setStyle("body", body); var label:TextField = new TextField(); label.styleSheet = style; label.htmlText = "<body><span class='heading'>Hello </span>World...</body>"; addChild(label); } } }
Tue Jun 12 2018, 09:30 AM Z