<s:DataRenderer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:DataRenderer Properties data="" Events dataChange="No default" />]]>
Remarque : cette classe est susceptible d’être supprimée dans une version ultérieure.
Cette propriété peut être liée. Elle distribue des événements « dataChange ».
<s:TextArea>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TextArea Properties heightInLines="Calculated default" [Spark theme only] textFlow="TextFlow" [Spark theme only] typicalText=null [Spark theme only] widthInChars="Calculated default" [Spark theme only] Styles horizontalScrollPolicy="auto" [Spark theme only] symbolColor="" verticalScrollPolicy="auto" [Spark theme only] />]]>
L’habillage pour le thème Spark utilise la classe RichEditableText. Cela signifie que le contrôle TextArea Spark prend en charge la bibliothèque TLF (Text Layout Framework), qui repose sur le moteur FTE (Flash Text Engine).Associés, ces calques offrent des fonctionnalités de modification de texte, notamment de typographie et de présentation internationales de qualité supérieure. L’habillage comprend un élément Scroller qui peut afficher les barres de défilement horizontales et verticales permettant de parcourir le texte et prend en charge le défilement vertical avec la molette de la souris. Le contrôle RichEditableText est accessible en tant que classe
L’habillage pour le thème Mobile utilise la classe StyleableStageText. Etant donné que StyleableStageText utilise des champs de texte natifs, la saisie et la manipulation de texte sont améliorés sur les périphériques mobiles. Il existe toutefois des
Vous pouvez définir le texte à afficher, ou obtenir le texte que l’utilisateur a entré, à l’aide de la propriété
Le texte est mis en forme à l’aide de styles CSS, tels que
Pour le thème Spark, les propriétés
Vous pouvez utiliser la propriété
Pour le thème Mobile, les propriétés spécifiques au clavier logiciel,
Zone de texte pour le thème Spark
Les principales différences entre les contrôles Spark TextArea et MX TextArea sont les suivantes :
Le contrôle Spark TextArea utilise le modèle de texte enrichi orienté objet TLF, dans lequel les éléments de présentation de texte, tels que les divisions, les paragraphes, les étendues, les hyperliens, et les images sont représentés à l’exécution par des objets ActionScript. Vous pouvez en outre accéder et manipuler ces objets via un programme. TextFlow est l’objet central de TLF permettant de représenter le texte enrichi. Spécifiez le texte enrichi d’un contrôle TextArea en définissant sa propriété
Si vous n’avez pas besoin d’afficher un texte possédant plusieurs formats, définissez la propriété
Lors de la compilation, vous pouvez placer des balises de marquage TLF dans la balise TextArea, comme l’illustre l’exemple suivant :
<s:TextArea>Hello <s:span fontWeight="bold">World!</s:span></s:TextArea>Dans cet exemple, le compilateur MXML définit la propriété
Le contrôle TextArea n’inclut pas d’interface utilisateur permettant de modifier la mise en forme du texte, mais contient des API que vous pouvez utiliser pour formater le texte par programmation. Vous pouvez par exemple créer un bouton qui, lorsqu’il est cliqué, affiche le texte sélectionné en gras.
Le formatage de texte par défaut est déterminé par des styles CSS, par exemple
Vous pouvez définir plusieurs caractéristiques du contenu du composant TextArea avec des styles. En voici quelques-unes :
Par défaut, le texte revient à la ligne sur le bord droit du contrôle. Une barre de défilement verticale s’affiche automatiquement lorsque la longueur du texte dépasse celle du composant TextArea. Si vous définissez le style
Le composant Spark TextArea peut afficher du texte rédigé de gauche à droite (LTR), par exemple, en français, de droite à gauche (RTL), comme en arabe, et du texte bidirectionnel, par exemple une phrase française au sein d’une phrase arabe. Si le sens du texte prédominant est de droite à gauche, définissez le style
Le composant Spark TextArea prend également en charge un nombre illimité d’opération d’annulation/rétablissement au cours d’une session d’édition. Une session d’édition commence lorsque le contrôle obtient le focus clavier et se termine lorsque le contrôle perd le focus.
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Pour le thème Spark, le contrôle TextArea possède les caractéristiques par défaut suivantes :
Pour le thème Mobile, le contrôle TextArea possède les caractéristiques par défaut suivantes :
La propriété
<s:TextArea>Hello <s:span fontWeight="bold">World</s:span></s:TextArea>dans cet exemple, les éléments String et SpanElement que vous pouvez spécifier en tant que contenu à utiliser pour créer un objet TextFlow.
Cette propriété est typé sous forme d’objet car vous pouvez la définir en tant que chaîne, FlowElement ou tableau de chaînes et FlowElements. Dans l’exemple ci-dessus, le contenu est un tableau à deux éléments. Le premier élément de tableau est la chaîne « Hello ». Le deuxième élément de tableau est un objet SpanElement avec le texte « World » dans en gras.
Quelle que soit la méthode de spécification du contenu, ce dernier est converti en objet TextFlow. Lorsque vous obtenez la valeur de cette propriété, vous obtenez l’objet TextFlow résultant.
Pour le thème Mobile, ceci n’est pas pris en charge.
Pour le thème Spark, voir spark.components.RichEditableText.heightInLines
Pour le thème Mobile, ceci n’est pas pris en charge.
Pour le thème Spark, voir spark.components.RichEditableText.textFlow
Pour le thème Mobile, ceci n’est pas pris en charge.
Pour le thème Spark, voir spark.components.RichEditableText.widthInChars
Pour le thème Mobile, ceci n’est pas pris en charge.
<s:Grid>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Grid Properties />]]>
Le composant Grid est destiné à être utilisé en tant qu’élément d’habillage de DataGrid ou en tant qu’élément d’autres composants composites personnalisés. Par conséquent, il ne peut pas être doté d’un habillage, ne contient pas de dispositif de défilement ni de barres de défilement et ne fournit pas de gestion par défaut des événements de la souris ou du clavier.
Chaque cellule visible de la grille est affichée par une occurrence GridItemRenderer créée à l’aide de la propriété
Le contrôle Grid prend en charge la sélection, conformément à la propriété
Le contrôle Grid affiche les indicateurs de survol, de signe d’insertion et de sélection en fonction de la propriété
Le contrôle Grid prend en charge un défilement fluide. Les positions de défilement vertical et horizontal définissent l’origine des pixels de la partie visible de la grille et la mise en forme de la grille affiche seulement le nombre de rendus d’éléments de cellule nécessaire pour combler l’espace libre.
Le contrôle Grid prend en charge les lignes de hauteur variable qui calculent automatiquement la hauteur en fonction du contenu du rendu d’élément. Cette prise en charge est appelée virtualisation de grille, car la mise en correspondance des positions de défilement (pixels) avec les index de ligne et de colonne est généralement basée sur des informations incomplètes à propos de la taille préférée des cellules de la grille. La grille met en cache les hauteurs de ligne calculées qui ont défilé à l’écran et estime le reste en fonction d’un seul
Les transitions dans les rendus d’éléments DataGrid ne sont pas prises en charge. La classe GridItemRenderer ayant désactivé sa propriété
L’élément
L’élément
L'exemple de fonction ci-dessous utilise cette méthode pour calculer la valeur du
function getCellData(x:Number, y:Number):Object { var cell:CellPosition = getCellAt(x, y); if (!cell) return null; var GridColumn:column = grid.columns.getItemAt(cell.columnIndex); return grid.dataProvider.getItemAt(cell.rowIndex)[column.dataField]; }
Si toutes les colonnes de la ligne spécifiée et toutes les lignes la précédant n’ont pas encore défilé jusqu’à apparaître à l’écran, les limites renvoyées peuvent n’être qu’une approximation, basée sur toutes les propriétés
Si toutes les colonnes de la ligne spécifiée et toutes les lignes la précédant n'ont pas encore défilé jusqu'à apparaître à l'écran, la valeur renvoyée peut n'être qu'une approximation, basée sur toutes les propriétés
Si toutes les colonnes de la rangée spécifiée et toutes les rangées la précédant n'ont pas encore défilé jusqu'à apparaître à l'écran, la valeur renvoyée peut n'être qu'une approximation, basée sur toutes les propriétés
Si toutes les cellules dans la colonne indiquée n'ont pas encore défilé à l'écran, les limites rapportées peuvent n'être qu'une approximation, basée sur la propriété
Si toutes les colonnes ou lignes de la grille n'ont pas encore défilé à l'écran, l'index renvoyé peut n'être qu'une approximation, basée sur toutes les propriétés
Si la propriété width de la colonne spécifiée n’est pas définie, la valeur renvoyée peut n’être qu’une approximation. La largeur de colonne réelle est calculée uniquement après que la colonne a défilé jusqu’à apparaître à l’écran.
Si le rendu d’élément demandé n’est pas visible, chaque fois que cette méthode est appelée, un nouveau rendu d’élément est créée. Le nouveau rendu d’élément n’est pas visible
Si la colonne spécifiée n’a pas une largeur explicite, la largeur de cette cellule est basée sur l’élément
Si la propriété de grille
Si toutes les colonnes de la ligne spécifiée et toutes les lignes la précédant n’ont pas encore défilé jusqu’à apparaître à l’écran, les limites renvoyées peuvent n’être qu’une approximation, basée sur toutes les propriétés
Si toutes les colonnes ou lignes de la grille n'ont pas encore défilé à l'écran, l'index renvoyé peut n'être qu'une approximation, basée sur toutes les propriétés
L'exemple suivant utilise cette méthode pour calculer un vecteur d'objets GridColumn visibles.
function getVisibleColumns():Vector.<GridColumn> { var visibleColumns = new Vector.<GridColumn>; for each (var columnIndex:int in grid.getVisibleColumnIndices()) visibleColumns.push(grid.columns.getItemAt(columnIndex)); return visibleColumns; }
Si columnIndex a la valeur -1, la ligne entière est invalidée. De même, si
Cette méthode doit être appelée lorsqu’un des aspects du fournisseur de données est modifié au niveau de l’élément
Cette méthode est appelée automatiquement si la propriété
L’élément
L’élément
Si des éléments sont ajoutés à l’élément
Ce mode « selectAll » implicite se termine lorsque l’une des actions suivantes se produit :
L’élément
Cette méthode est sans effet si la région de cellules n'est pas entièrement contenue dans la grille.
Chaque index représente un élément dans le fournisseur de données à inclure dans la sélection.
L’élément
L’élément
L’élément
L’élément
L’élément
Les gestionnaires d'événement de grille doivent utiliser cette propriété pour enregistrer l'emplacement du déplacement le plus récent de la souris ou frappe sur le clavier sans utilisation de la touche maj. qui définit une extrémité de la prochaine sélection potentielle de la touche maj. L'index du caret définit l'autre extrémité.
Les gestionnaires d'événement de grille doivent utiliser cette propriété pour enregistrer l'emplacement du déplacement le plus récent de la souris ou frappe sur le clavier sans utilisation de la touche maj. qui définit une extrémité de la prochaine sélection potentielle de la touche maj. L'index du caret définit l'autre extrémité.
Si
La définition de
La définition de
Les objets GridColumn peuvent uniquement apparaître dans les
La définition de l’élément
La définition de l’élément
Si la taille réelle de la grille a été explicitement définie, cette propriété est sans effet.
Cette propriété n’a aucun effet si l’une des affirmations suivantes est vraie ;
Cette propriété n’a aucun effet si l’une des affirmations suivantes est vraie ;
Cette propriété n’a aucun effet si l’une des affirmations suivantes est vraie ;
Si
Si la taille réelle de la grille a été explicitement définie, cette propriété est sans effet.
Si
Si
Lorsque l'utilisateur change la sélection en utilisant la commande, celle-ci distribue cet événement
Cette propriété est destinée à être utilisée pour initialiser ou établir une liaison avec la sélection dans le balisage MXML. La méthode
Lorsque l'utilisateur change la sélection en utilisant la commande, celle-ci distribue cet événement
Cette propriété est destinée à être utilisée pour initialiser ou établir une liaison avec la sélection dans le balisage MXML. La méthode
La valeur par défaut est un
Lorsque l'utilisateur change la sélection en utilisant la commande, celle-ci distribue cet événement
Cette propriété est destinée à être utilisée pour initialiser ou établir une liaison avec la sélection dans le balisage MXML. La méthode
Lorsque l'utilisateur change la sélection en utilisant la commande, celle-ci distribue cet événement
Cette propriété est destinée à être utilisée pour initialiser ou établir une liaison avec la sélection dans le balisage MXML. La méthode setSelectedCell() doit être utilisée pour les mises à jour de la sélection par programmation, par exemple, lors de l’écriture d’un gestionnaire d’événement de clavier ou de souris.
>Lorsque l'utilisateur change la sélection en utilisant la commande, celle-ci distribue cet événement
Cette propriété est destinée à être utilisée pour initialiser ou établir une liaison avec la sélection dans le balisage MXML. La méthode
Lorsque l'utilisateur change la sélection en utilisant la commande, celle-ci distribue cet événement
Cette propriété est destinée à être utilisée pour initialiser ou établir une liaison avec la sélection dans le balisage MXML. La méthode setSelectedCell() doit être utilisée pour les mises à jour de la sélection par programmation, par exemple, lors de l’écriture d’un gestionnaire d’événement de clavier ou de souris.
La valeur par défaut est un
La modification du selectionMode provoque la suppression de la sélection en cours et la définition de caretRowIndex et caretColumnIndex sur -1.
Restriction : si
Si la valeur est
<s:Application>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Application Properties applicationDPI=Device dependent" backgroundColor="0xFFFFFF" colorCorrection="default" controlBarContent="null" controlBarLayout="HorizontalLayout" controlBarVisible="true" frameRate="24" pageTitle"" preloader="No default" preloaderChromeColor="No default" resizeForSoftKeyboard=true" runtimeDPIProvider="RuntimeDPIProvider" scriptRecursionLimit="1000" scriptTimeLimit="60" splashScreenImage="" splashScreenMinimumDisplayTime="1000" splashScreenScaleMode="none" usePreloader="true" viewSourceURL="" xmlns:No default="No default" Events applicationComplete="No default" error="No default" />]]>
Le contrôle Application possède les caractéristiques par défaut suivantes :
Remarque : cette propriété ne peut pas être définie par du code ActionScript. Elle doit être définie par du code MXML.
Remarque : cette propriété ne peut pas être définie par du code ActionScript. Elle doit être définie par du code MXML. La valeur définie dans le code MXML est conçue pour une utilisation avec un outil d’actualisation des modèles HTML fournis avec le SDK.
Remarque : cette propriété ne peut pas être définie par le code ActionScript. Elle doit être définie dans le code MXML.
Utilisez cette propriété pour indiquer le chemin d’accès d’un composant qui définit un indicateur de progression personnalisé. Pour créer un indicateur de progression personnalisé, vous créez normalement une sous-classe de la classe SparkDownloadProgressBar ou DownloadProgressBar, ou de la classe flash.display.Sprite qui implémente l’interface mx.preloaders.IPreloaderDisplay.
Remarque : cette propriété ne peut pas être définie par du code ActionScript. Elle doit être définie par du code MXML.
Remarque : cette propriété ne peut pas être définie par du code ActionScript. Elle doit être définie par du code MXML.
Remarque : la propriété a un effet uniquement lorsque la propriété
Remarque : vous devez ajouter frameworks\libs\mobile\mobilecomponents.swc au chemin de la bibliothèque de l’application pour prendre en charge l’écran d’introduction dans une application de bureau.
La partie de la scène qui n’est pas couverte par l’image s’affiche dans la couleur
Remarque : la propriété a un effet uniquement lorsque la propriété
Remarque : vous devez ajouter frameworks\libs\mobile\mobilecomponents.swc au chemin de la bibliothèque de l’application pour prendre en charge l’écran d’introduction dans une application de bureau.
Remarque : cette propriété ne peut pas être définie par du code ActionScript. Elle doit être définie par du code MXML.
Seule l’application principale est autorisée à définir la propriété
Remarque : le conteneur Application ne surveille pas la propriété
L’utilisation d’une boucle for-in permet d’extraire tous les noms et toutes les valeurs de l’objet parameters.
Il existe deux sources de paramètres : la chaîne de requête de l’URL de l’application et la valeur du paramètre HTML FlashVars (qui affecte uniquement l’application principale).
Pour activer le redimensionnement de l’application, vous devez également définir l’attribut
Les mappages par défaut de Flex sont les suivants :
splashScreenImage="@Embed('Default.png')"
Remarque : la propriété a un effet uniquement lorsque la propriété
Remarque : vous devez ajouter frameworks\libs\mobile\mobilecomponents.swc au chemin de la bibliothèque de l’application pour prendre en charge l’écran d’introduction dans une application de bureau.
La propriété
<Application viewSourceURL="http://path/to/source"> ... </Application>
<s:Button>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Button Properties emphasized="false" />]]>
Les contrôles Button utilisent généralement des écouteurs d’événements pour effectuer une action lorsque l’utilisateur les sélectionne. Lorsque l’utilisateur clique sur un contrôle Button alors que celui-ci est activé, un événement
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Le contrôle Button possède les caractéristiques par défaut suivantes :
<s:CheckBox>
tag inherits all of the tag
attributes of its superclass and adds the following attributes:
<s:CheckBox Properties symbolColor="0x000000" />]]>
Lorsqu’un utilisateur clique sur un composant CheckBox ou sur le texte associé, le composant CheckBox définit sa propriété
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Le contrôle CheckBox possède les caractéristiques par défaut suivantes :
<s:Group>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Group Properties blendMode="auto" mxmlContent="null" scaleGridBottom="null" scaleGridLeft="null" scaleGridRight="null" scaleGridTop="null" Events elementAdd="No default" elementRemove="No default" />]]>
Pour améliorer les performances et limiter la taille de l’application, l’habillage du conteneur Group ne peut pas être configuré. Pour appliquer un habillage, utilisez plutôt la classe SkinnableContainer.
Remarque : la grille de mise à l’échelle peut ne pas fonctionner correctement lorsqu’il n’existe aucun enfant de classe DisplayObject au sein du groupe, comme un composant ou un autre groupe. Si les enfants de l’objet sont des objets GraphicElement et qu’ils partagent tous l’objet DisplayObject du groupe, la grille de mise à l’échelle fonctionne correctement.
Définir l’une des propriétés suivantes sur un enfant de classe GraphicElement requiert que la classe GraphicElement crée sa propre classe DisplayObject, niant par conséquent les propriétés de la grille de mise à dans le groupe.
alpha blendMode other than BlendMode.NORMAL or "auto" colorTransform filters mask matrix rotation scaling 3D properties bounds outside the extent of the Group
Le conteneur Group présente les caractéristiques par défaut suivantes :
La valeur « auto » (valeur par défaut) est spécifique à l’utilisation de blendMode par Group et indique que l’élément blendMode sous-jacent doit être
Les éléments de contenu doivent être des objets IVisualItem. Un tableau
Si le contenu est un tableau, ne modifiez pas directement le tableau. Utilisez plutôt les méthodes définies par la classe Group.
<s:TextInput>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TextInput Properties widthInChars="Calculated default" [applies to Spark theme] Events enter="No default" />]]>
L’habillage TextInput pour le thème Spark utilise la classe RichEditableText. Cela signifie que le contrôle TextInput Spark prend en charge la bibliothèque TLF (Text Layout Framework), qui repose sur le moteur FTE (Flash Text Engine).Associés, ces calques offrent des fonctionnalités de modification de texte, notamment de typographie et de présentation internationales de qualité supérieure.
L’habillage TextInput pour le thème Mobile utilise la classe StyleableStageText au lieu de RichEditableText. Etant donné que StyleableStageText utilise des champs de texte natifs, la saisie et la manipulation de texte sont améliorés sur les périphériques mobiles. Il existe toutefois des
Vous pouvez définir le texte à afficher, ou obtenir le texte que l’utilisateur a entré, à l’aide de la propriété
Le texte est formatée à l’aide de styles CSS, tels que
Pour le thème Spark, vous pouvez spécifier la largeur du contrôle à l’aide de la propriété
Vous pouvez utiliser la propriété
Pour le thème Mobile, les propriétés spécifiques au clavier logiciel,
Ce contrôle distribue un événement
Il s’agit d’un contrôle habillable dont l’habillage par défaut contient soit une instance RichEditableText pour le thème Spark, soit une instance StyleableStageText pour le thème Mobile. Il gère l’affichage et la modification du texte. ( L’habillage gère également le traçage de la bordure et de l’arrière-plan). Cette instance RichEditableText ou StyleableStageText est accessible en tant qu’objet
Pour le thème Spark, étant donné que RichEditableText utilise TLF, le contrôle TextInput Spark prend en charge l’affichage du texte rédigé de gauche à droite (LTR), par exemple, en français, de droite à gauche (RTL), comme en arabe, et du texte bidirectionnel, par exemple une phrase française au sein d’une phrase arabe. Si le sens du texte prédominant est de droite à gauche, définissez le style
L’utilisation de TLF permet à RichEditableText de prendre en charge un nombre illimité d’opération d’annulation/rétablissement au cours d’une session d’édition. Une session d’édition commence lorsque le contrôle obtient le focus clavier et se termine lorsque le contrôle perd le focus.
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Pour le thème Spark, le contrôle TextInput possède les caractéristiques par défaut suivantes :
Pour le thème Mobile, le contrôle TextInput possède les caractéristiques par défaut suivantes :
Un em est une unité de mesure typographiques égale à la taille en points. Il ne s’agit pas nécessairement de la largeur exacte du caractère« M », mais dans la plupart des polices le « M » correspond à environ un em de large. Le style
Vous pouvez par exemple, définir cette propriété sur 20 si vous souhaitez que la largeur du composant TextInput soit suffisante pour afficher 20 caractères.
Cette propriété sera ignorée si vous spécifiez une largeur explicite, un pourcentage de largeur ou les deux contraintes
Cette propriété sera également ignorée si la propriété
Pour le thème Mobile, ceci n’est pas pris en charge.
<s:Form>
tag inherits all the tag
attributes of its superclass and adds no new tag attributes:
<s:Form> ... child tags ... </s:Form>]]>
Le tableau ci-dessous décrit les composants à utiliser pour créer des formulaires dans Flex :
Si un descendant est supprimé du formulaire, le dictionnaire n’est pas mis à jour.
<s:NumericStepper>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:NumericStepper Properties imeMode="null" maxChars="0" maximum="10" valueFormatFunction="" valueParseFunction="" Styles alignmentBaseline="USE_DOMINANT_BASELINE" baselineShift="0.0" blockProgression="TB" borderAlpha="0.5" borderColor="0x000000" borderVisible="true" breakOpportunity="AUTO" cffHinting="HORIZONTAL_STEM" color="0" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" clearFloats="none" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" firstBaselineOffset="AUTO" focusedTextSelectionColor="" fontFamily="Arial" fontLookup="DEVICE" fontSize="12" fontStyle="NORMAL" fontWeight="NORMAL" inactiveTextSelection="" justificationRule="AUTO" justificationStyle="AUTO" kerning="AUTO" leadingModel="AUTO" ligatureLevel="COMMON" lineHeight="120%" lineThrough="false" listAutoPadding="40" listStylePosition="outside" listStyleType="disc" locale="en" paragraphEndIndent="0" paragraphSpaceAfter="0" paragraphSpaceBefore="0" paragraphStartIndent="0" renderingMode="CFF" tabStops="null" textAlign="START" textAlignLast="START" textAlpha="1" textDecoration="NONE" textIndent="0" textJustify="INTER_WORD" textRotation="AUTO" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" unfocusedTextSelectionColor="" whiteSpaceCollapse="COLLAPSE" wordSpacing="100%,50%,150%" />]]>
Le contrôle NumericStepper se compose d’une zone de texte d’une seule ligne et d’une paire de boutons fléchés permettant de parcourir les valeurs possibles. Les flèches Haut et Bas et la molette de la souris permettent également de passer en revue les valeurs. Une valeur d’entrée est validée lorsque l’utilisateur appuie sur la touche Entrée, place le focus à l’extérieur du composant ou incrémente/décrémente le composant NumericStepper en appuyant sur un bouton de direction ou en appelant la méthode
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Le contrôle NumericStepper possède les caractéristiques par défaut suivantes :
spark.skins.spark.NumericStepperTextInputSkin
La classe flash.system.IMEConversionMode définit des constantes pour les valeurs possibles de cette propriété. Vous pouvez également spécifier
La fonction présente la signature suivante :
funcName(value:Number):String
La fonction présente la signature suivante :
funcName(value:String):Number
<s:Spinner>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Spinner Properties allowValueWrap="false" Events change="No default" Styles cornerRadius="2" focusAlpha="0.5" focusColor="0x70B2EE" symbolColor="0x000000" />]]>
Un composant Spinner se compose de deux boutons, l’un servant à augmenter la valeur actuelle et l’autre à la diminuer. Les utilisateurs peuvent également utiliser les flèches Haut et Bas et la molette de la souris pour passer en revue les valeurs. Une valeur d’entrée est validée lorsque l’utilisateur appuie sur la touche Entrée, place le focus à l’extérieur du composant ou incrémente/décrémente le composant Spinner en appuyant sur un bouton de direction ou en appelant la méthode
Les valeurs possibles d’un composant Spinner correspondent aux valeurs autorisées par la propriété
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Le contrôle Spinner possède les caractéristiques par défaut suivantes :
Le composant peut modifier ses propres dimensions (
Le composant peut également changer d’échelle, auquel cas aucune modification des enfants n’est nécessaire. Cette option est prise en charge par la classe
Le composant commence toujours par définir ses propres dimensions, avant de mettre en forme ses enfants à la taille réelle spécifiée par la présentation ou l’utilisateur.
Le composant commence toujours par définir ses propres dimensions avant de mettre en forme ses enfants à la taille mesurée. L’échelle est ajustée à la taille spécifiée par la présentation ou l’utilisateur.
<s:NavigatorContent>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:NavigatorContent Properties icon="null" label="" />]]>
N’utilisez pas de conteneurs NavigatorContent en dehors d’un composant de navigation MX.
La création du conteneur NavigatorContent est basé sur la stratégie de création de son conteneur de navigation parent :
Le conteneur NavigatorContent ne prend pas en charge la stratégie de création en file d’attente.
Le conteneur NavigatorContent présente les caractéristiques par défaut suivantes :
Par exemple, si ce conteneur est un enfant d’un élément TabNavigator, cette icône s’affiche dans l’onglet correspondant. Si ce conteneur est un enfant d’un composant Accordion, cette icône s’affiche dans l’en-tête correspondant.
Pour incorporer l’icône dans le fichier SWF, utilisez la directive de compilateur MXML @Embed().
icon="@Embed('filepath')"
L’image peut être un fichier JPEG, GIF, PNG, SVG ou SWF.
Par exemple, si ce conteneur est un enfant d’un élément TabNavigator, cette chaîne s’affiche dans l’onglet correspondant. Si ce conteneur est un enfant d’un composant Accordion, cette chaîne s’affiche dans l’en-tête correspondant.
<s:VSlider>
tag inherits all of the tag
attributes of its superclass and adds no tag attributes:
<s:VSlider/>]]>
Le curseur peut autoriser une plage continue de valeurs entre ses valeurs minimales et maximales, ou être limité à des valeurs à intervalles spécifiques entre la valeur minimale et maximale. Il peut également utiliser une astuce sur les données pour afficher sa valeur actuelle.
Le contrôle VSlider possède les caractéristiques par défaut suivantes :
spark.skins.spark.VSliderThumbSkin
spark.skins.spark.VSliderTrackSkin
<s:ToggleButton>
tag inherits all of the tag
attributes of its superclass and adds no tag attributes:
<s:ToggleButton/>]]>
Cet état peut être obtenu ou défini par programmation, par le biais de la propriété
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Le contrôle ToggleButton possède les caractéristiques par défaut suivantes :
<s:FormHeading>
tag inherits all the tag
attributes of its superclass and adds no new tag attributes:
<s:FormHeading Properties label="" Common Styles alignmentBaseline="baseline" baselineShift="0" cffHinting="0.0" color="0x000000" digitCase="default" digitWidth="default" direction="ltr" dominantBaseline="auto" fontFamily="Arial" fontLookup="embeddedCFF" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="false" ligatureLevel="common" lineBreak="toFit" lineHeight="120%" lineThrough="false%" locale="en" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" renderingMode="cff" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="start" textJustify="interWord" trackingLeft="0" trackingRight="00" typographicCase="default" verticalAlign="top" Mobile Styles leading="2" letterSpacing="0" />]]>
<s:HScrollBar>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:HScrollBar Properties viewport="" />]]>
Bien que vous puissiez utiliser le contrôle HScrollBar de façon autonome, il convient généralement de l'ajouter à un autre groupe de composants pour bénéficier de la fonctionnalité de défilement.
Le contrôle HScrollBar possède les caractéristiques par défaut suivantes :
spark.skins.spark.HScrollBarThumbSkin
spark.skins.spark.HScrollBarTrackSkin
Le comportement par défaut consiste à faire défiler horizontalement par le nombre d’« étapes » de la propriété
L’appel de la méthode
Si la propriété
Si la valeur de
<s:SkinnablePopUpContainer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnablePopUpContainer Events close="No default" open="No default" />]]>
Vous ne pouvez pas créer un conteneur SkinnablePopUpContainer en tant que partie intégrante du normal la mise en forme de son conteneur parent. Au lieu de cela, il s'affiche comme une fenêtre contextuelle au-dessus de l'objet parent. Par conséquent, vous ne créez pas directement dans le code MXML de votre application.
Au lieu de cela, vous créez est en tant que composant MXML, souvent dans un autre fichier MXML. Pour afficher le composant créer une instance du composant MXML, puis appelez la
Pour fermer le composant, appelez la méthode
La SkinnablePopUpContainer est initialement dans sa
Le conteneur SkinnablePopUpContainer présente les caractéristiques par défaut suivantes :
Cet événement est distribué lorsque le conteneur passe de l’état d’habillage
Cet événement fournit un mécanisme pour transmettre des informations de validation à partir du conteneur à un écouteur d’événement. Un scénario d’utilisation standard correspond à la construction d’une boîte de dialogue à choix multiples avec un bouton Annuler. Lorsqu’une option valide est sélectionnée, vous fermez la fenêtre contextuelle avec un appel à la méthode
Cet événement est distribué lorsque le conteneur passe de l’état d’habillage
Utilisez la
<s:DropDownList>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:DropDownList Properties prompt="" typicalItem="null" Events closed="No default" open="No default" />]]>
Le contrôle DropDownList se compose du bouton d’ancrage, de la zone d’invite de la liste déroulante. Utilisez le bouton d’ancrage pour ouvrir et fermer la liste déroulante. La zone dvinvite affiche une chaîne d’invite ou l’élément sélectionné dans la liste déroulante.
Lorsque la liste déroulante est ouverte :
Remarque : les contrôles basés sur une liste Spark (la classe Spark ListBase et ses sous-classes, telles que ButtonBar, ComboBox, DropDownList, List et TabBar) ne prennent pas en charge la classe BasicLayout en tant que valeur de la propriété
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Le contrôle DropDownList possède les caractéristiques par défaut suivantes :
Le conteneur utilise l’élément de données standard et la fonctionnalité de rendu d’élément associée pour déterminer la taille par défaut des enfants du conteneur. Si l’élément standard est défini, il n’est pas nécessaire que le conteneur définisse la taille de chaque enfant lorsqu’ils sont tracés à l’écran.
Le fait de définir cette propriété définit automatiquement la propriété
Restriction : si
Remarque : la définition de
<s:GridColumnHeaderGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GridColumnHeaderGroup Properties columnSeperator="null" dataGrid="null" downColumnIndex="-1" headerRenderer="null" hoverColumnIndex="-1" visibleSortIndicatorIndices="empty Vector.<int>" Styles paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" separatorAffordance="5" Events gridClick="No default" gridDoubleClick="No default" gridMouseDown="No default" gridMouseDrag="No default" gridMouseUp="No default" gridMouseRollOut="No default" gridMouseRollOver="No default" separatorClick="No default" separatorDoubleClick="No default" separatorMouseDrag="No default" separatorMouseUp="No default" separatorMouseRollOut="No default" separatorMouseRollOver="No default" />]]>
Les en-têtes sont rendus par la classe spécifiée par la propriété
Si toutes les colonnes visibles qui précèdent la colonne spécifiée n’ont pas encore défilé à l’écran, les limites renvoyées peuvent n’être qu’une approximation, basée sur toutes les propriétés
Si toutes les colonnes ou lignes de la grille n’ont pas encore défilé à l’écran, l’index renvoyé peut n’être qu’une approximation, basée sur la propriété
Si le rendu d’en-tête demandé n’est pas visible, chaque fois que cette méthode est appelée, un nouveau rendu d’en-tête est créé. Le nouveau rendu d’élément n’est pas visible
La largeur du rendu renvoyé est identique à celle des rendus d’éléments renvoyés par la méthode DataGrid/getItemRendererAt().
Un séparateur est considéré comme « chevauchant » l’emplacement spécifié si la coordonnée x se situe à l’intérieur de la classe
L’index du séparateur est identique à celui de la colonne de gauche, en supposant que la classe
Si toutes les colonnes ou lignes de la grille n’ont pas encore défilé à l’écran, l’index renvoyé peut n’être qu’une approximation, basée sur la propriété
visibleSortIndicatorIndices.indexOf(columnIndex) != -1
La définition de
La définition de
<s:PopUpAnchor>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:PopUpAnchor Properties displayPopUp="false" popUp="" popUpHeightMatchesAnchorHeight="false" popUpPosition="topLeft" popUpWidthMatchesAnchorWidth="false" />]]>
Le contrôle PopUpAnchor possède les caractéristiques par défaut suivantes :
Par défaut, l’indicateur de dépôt d’un contrôle Spark est une ligne unie qui s’étend sur la largeur du contrôle. Créez un indicateur de dépôt personnalisé en créant une classe d’habillage personnalisée pour la cible de dépôt. Dans la classe d’habillage, créez une partie d’habillage nommée
<s:List>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:List Properties allowMultipleSelection="false" dragEnabled="false" dragMoveEnabled="false" dropEnabled="false" selectedIndices="null" selectedItems="null" useVirtualLayout="true" Styles alternatingItemColors="undefined" borderAlpha="1.0" borderColor="0#CCCCCC" borderVisible="true" contentBackgroundColor="0xFFFFFF" downColor="0xA8C6EE" dragIndicator="ListItemDragProxy" dropIndicatorSkin="ListDropIndicator" rollOverColor="0xCEDBEF" selectionColor="0xA8C6EE" symbolColor="0x000000" />]]>
Remarque : les contrôles basés sur une liste Spark (la classe Spark ListBase et ses sous-classes, telles que ButtonBar, ComboBox, DropDownList, List et TabBar) ne prennent pas en charge la classe BasicLayout en tant que valeur de la propriété
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Le contrôle List possède les caractéristiques par défaut suivantes :
Cette méthode est utilisée pour copier avec l’opération Glisser-déposer.
Si vous remplacez le gestionnaire d’événements
Si vous remplacez le gestionnaire d’événements
Le glisser-déposer n’est pas pris en charge sur les périphériques mobiles pour lesquels
Le glisser-déposer n’est pas pris en charge sur les périphériques mobiles pour lesquels
Si vous définissez cette propriété sur
Le glisser-déposer n’est pas pris en charge sur les périphériques mobiles pour lesquels
La modification de cette propriété sur une autre valeur que « off » peut se traduire par une modification immédiate de la position du défilement afin de garantir qu’un élément est correctement « accroché » en position. Ce changement de la position du défilement n’est pas animé.
Si la sélection multiple est activée en définissant
Si la sélection multiple est activée en définissant
Remarque : cette fonction est similaire à la propriété
La valeur de cette propriété est généralement
Si cette propriété est définie et que l’habillage List contient une partie d’habillage Scroller, la valeur est traitée par proxy sur le composant Scroller.
Si la valeur est
Si la valeur est
<s:BorderContainer>
tag inherits all the tag attributes
of its superclass, and adds the following tag attributes:
<s:BorderContainer Properties backgroundFill="null" borderStroke="null" Styles backgroundImage="undefined" backgroundImageFillMode="scale" borderAlpha="1.0" borderColor="0xB7BABC" borderStyle="solid" borderVisible="true" borderWeight="1" cornerRadius="0" dropShadowVisible="false" />]]>
Remarque : les styles CSS et les propriétés de classe étant utilisés pour contrôler l’aspect de la classe BorderContainer, vous ne pouvez pas créer un habillage personnalisé pour cette dernière. Si vous créez un habillage personnalisé, la classe d’habillage doit appliquer tous les styles pour contrôler l’aspect du conteneur.
Par défaut, le trait de la bordure est arrondi. Si vous ne souhaitez pas de coins arrondis, définissez la propriété
Le conteneur BorderContainer présente les caractéristiques par défaut suivantes :
L’exemple suivant utilise la propriété
<s:BorderContainer cornerRadius="10"> <s:backgroundFill> <s:SolidColor color="red" alpha="1"/> </s:backgroundFill> </s:BorderContainer>
L’exemple suivant définit la propriété
<s:BorderContainer cornerRadius="10"> <s:borderStroke> <mx:SolidColorStroke color="black" weight="3"/> </s:borderStroke> </s:BorderContainer>
Le composant hôte de la fonctionnalité de rendu d’élément peut utiliser la méthode
Pour les contrôles tels que List et ButtonBar, vous pouvez utiliser les propriétés
<s:VideoPlayer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:VideoPlayer Properties autoDisplayFirstFrame="true" autoPlay="true" autoRewind="true" loop="false" muted="false" pauseWhenHidden="true" scaleMode="letterbox" source="" volume="1" Events bytesLoadedChange="No default" complete="No default" currentTimeChange="No default" durationChange="No default" mediaPlayerStateChange="No default" Styles alignmentBaseline="baseline" baselineShift="0" cffHinting="0.0" color="0x000000" digitCase="default" digitWidth="default" direction="ltr" dominantBaseline="auto" dropShadowVisible="true" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="false" ligatureLevel="common" lineHeight="120%" lineThrough="false%" locale="en" renderingMode="cff" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="start" textJustify="interWord" trackingLeft="0" trackingRight="00" typographicCase="default" />]]>
Le contrôle VideoPlayer possède les caractéristiques par défaut suivantes :
L’événement risque de ne pas être distribué si la source est définie sur null ou qu’une erreur de lecture se produit.
L’événement risque de ne pas être distribué si la source est définie sur null ou qu’une erreur de lecture se produit.
L’événement risque de ne pas être distribué si la source est définie sur null ou qu’une erreur de lecture se produit.
<s:ButtonBar>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ButtonBar />]]>
L’utilisation courante d’une barre de boutons vise à regrouper un jeu de boutons associés, ce qui leur donne une apparence et une navigation communes et à gérer la logique de l’événement
Le contrôle ButtonBar crée des contrôles Button en fonction de la valeur de sa propriété
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Pour les projets non mobiles, vous pouvez utiliser le contrôle ButtonBar pour définir l’enfant actif d’un conteneur ViewStack, comme l’illustre l’exemple suivant :
Remarque : les contrôles basés sur une liste Spark (la classe Spark ListBase et ses sous-classes, telles que ButtonBar, ComboBox, DropDownList, List et TabBar) ne prennent pas en charge la classe BasicLayout en tant que valeur de la propriété
<s:ButtonBar dataProvider="{myViewStack}" requireSelection="true" /> <mx:ViewStack id="myViewStack" borderStyle="solid"> <s:NavigatorContent id="search" label="Search"> <s:Label text="Search Screen"/> </s:NavigatorContent> <s:NavigatorContent id="custInfo" label="Customer Info"> <s:Label text="Customer Info"/> </s:NavigatorContent> <s:NavigatorContent id="accountInfo" label="Account Info"> <s:Label text="Account Info"/> </s:NavigatorContent> </mx:ViewStack>
Le contrôle ButtonBar possède les caractéristiques par défaut suivantes :
<s:Label>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Label Properties fontContext="" Styles alignmentBaseline="baseline" baselineShift="0" cffHinting="0.0" color="0x000000" digitCase="default" digitWidth="default" direction="ltr" dominantBaseline="auto" fontFamily="Arial" fontLookup="embeddedCFF" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="false" ligatureLevel="common" lineBreak="toFit" lineHeight="120%" lineThrough="false" locale="en" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" renderingMode="cff" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="start" textJustify="interWord" trackingLeft="0" trackingRight="00" typographicCase="default" verticalAlign="top" />]]>
Label utilise le moteur Flash Text Engine (FTE) de Flash Player pour fournir une typographie de qualité internationale. Label étant rapide et léger, il est particulièrement adapté à une utilisation qui implique le rendu de nombreux petits morceaux de non-texte interactif, tels que des fonctionnalités de rendu d’élément et des étiquettes des habillage Button.
L’architecture Spark fournit trois « primitives » de texte, Label, RichText et RichEditableText, dans le cadre de sa philosophie d’achat en fonction des besoins. Etiquette est la plus rapide et la plus légère, mais est limitée en termes de capacités : pas de formatage complexe, de défilement, de sélection, de modification et d’hyperliens. RichText et RichEditableText sont construits sur la bibliothèque TLF (Text Layout Framework) plutôt que sur FTE. RichText ajoute la possibilité de lire du texte au formatage complexe, mais n’est absolument pas interactif. RichEditableText est le plus lent et le plus lourd, mais offre des fonctionnalités exhaustives : il prend en charge le défilement avec des objets TextLines virtualisés, la sélection, la modification, les hyperliens et les images chargées à partir d’URL. Vous devez utiliser la solution la plus rapide adaptée à vos besoins.
Le contrôle Spark Label est similaire au contrôle Label MX, mx.controls.Label. Les principales différences sont les suivantes :
Dans Spark Label, trois séquences de caractères explicites sont reconnues en tant que sauts de ligne : CR (
Si vous ne spécifiez aucun type de largeur pour Label, la ligne la plus longue, tel que déterminée par ces sauts de ligne explicites, détermine la largeur de Label.
Si vous spécifiez un type de largeur, le texte revient à la ligne sur le bord droit du composant, car la valeur par défaut du style
Pour désactiver ce retour automatique à la ligne, définissez le style
Si votre texte dépasse l’espace d’affichage, Label permet de le tronquer. La troncature de texte signifie le remplacement du texte superflu à l’aide d’un indicateur de troncature, tel que « ... ». Consultez les propriétés héritées
Vous pouvez contrôler l’espacement des lignes avec le style
Par défaut, un composant Label ne possède aucun arrière-plan, mais vous pouvez en tracer un en utilisant les styles
Le composant label peut afficher du texte rédigé de gauche à droite (LTR), par exemple, en français, de droite à gauche (RTL), comme en arabe, et du texte bidirectionnel, par exemple une phrase française au sein d’une phrase arabe. Si le sens prédominant du texte est de droite à gauche, définissez le style
Label utilise la classe TextBlock du moteur FTE (Flash Text Engine) pour créer un ou plusieurs objets TextLine pour afficher statiquement ses chaînes de caractères au format déterminé par ses styles CSS. Pour des performances accrues, ses objets TextLines créés ne contiennent pas d’informations sur les différents glyphes. Pour plus d’informations, consultez la section flash.text.engine.TextLineValidity.STATIC.
Le contrôle Label possède les caractéristiques par défaut suivantes :
<s:RichEditableText>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:RichEditableText Properties clipAndEnableScrolling="false|true" contentHeight="Calculated default" contentWidth="Calculated default" displayAsPassword="false" editable="true" heightInLines="NaN" horizontalScrollPosition="0" imeMode="null" maxChars="0" multiline="true" restrict="null" selectable="true" selectionActivePosition="-1" selectionAnchorPosition="-1" selectionHighlighting="TextSelectionHighlighting.WHEN_FOCUSED" text="" textFlow="TextFlow" typicalText=null verticalScrollPosition="0" widthInChars="NaN" Events change="No default" changing="No default" enter="No default" selectionChange="No default" />]]>
Texte enrichi peut contenir des hyperliens cliquables et des trafics en ligne incorporés ou chargés à partir d’URL.
Le contrôle RichEditableText ne possède pas de barre de défilement, mais il implémente l’interface IViewport permettant le défilement par programme afin de pouvoir être contrôlée par un objet Scroller, qui fournit des barres de défilement. Il prend également en charge le défilement vertical avec la molette de la souris.
Il n’inclut pas d’interface utilisateur permettant de modifier le formatage du texte. Mais il offre des API qui peut le faire par programmation. Ces dernières vous permettent, par exemple, de créer un bouton Gras qui rend le texte sélectionné en gras.
Cette classe est utilisée dans les habillages des versions Spark de TextInput et TextArea. (TextInput n’expose pas sa capacité à traiter du texte enrichi, contrairement à TextArea.) Par défaut, RichEditableText possède un arrière-plan transparent et ne prend pas en charge le traçage d’une bordure.
RichEditableText utilise la bibliothèque Text Layout Framework (TLF), qui repose elle-même sur le nouveau moteur Flash Text Engine (FTE) de Flash Player 10. Associés, ces calques offrent des fonctionnalités de modification de texte, notamment de typographie et de présentation internationales de qualité supérieure.
L’architecture Spark fournit trois « primitives » de texte : Label, RichText et RichEditableText. Label est la plus rapide et la plus légère, car elle utilise uniquement FTE, et pas TLF. Mais elle est limitée dans ses capacités : aucun texte enrichi, aucun défilement, aucune sélection et aucune modification. RichText ajoute la possibilité de lire du texte à la présentation complexe, mais n’est absolument pas interactive. RichEditableText est la plus lourde, mais tire le meilleur parti de la technologie TLF. Vous devez utiliser la primitive la plus rapide adaptée à vos besoins.
RichEditableText est similaire à la classe UITextField utilisée dans les composants MX. Cette classe n’utilise pas FTE ou TLF mais étend plutôt l’ancienne classe TextField.
Les principales différences entre UITextField et RichEditableText sont les suivantes :
RichEditableText utilise le modèle de texte enrichi orienté objet TLF, dans lequel les éléments de présentation de texte, tels que les divisions, les paragraphes, les étendues, les hyperliens, et les images sont représentés à l’exécution par des objets ActionScript. TextFlow est l’objet central de TLF permettant de représenter le texte enrichi. Vous pouvez spécifier l’affichage du texte enrichi dans le contrôle RichEditableText en définissant sa propriété
Lors de la compilation, vous pouvez placer des balises de marquage TLF dans la balise RichEditableText, comme l’illustre l’exemple suivant :
<s:RichEditableText>Hello <s:span fontWeight="bold">World!</s:span></s:RichEditableText>Dans cet exemple, le compilateur MXML définit la propriété
Le formatage de texte par défaut est déterminé par des styles CSS, par exemple
Vous pouvez contrôler l’espacement entre les lignes l’aide du style
Par défaut, un objet RichEditableText « se redimensionne automatiquement » : très réduit au départ en l’absence de texte, il croît en largeur jusqu’à
Les propriétés
Lorsque vous spécifiez une largeur, qu’il s’agisse d’une largeur explicite ou en pourcentage, une largeur
Vous pouvez utiliser la propriété
La propriété
Si vous ne souhaitez pas que le texte soit modifiable, définissez la propriété
Etant donné que RichEditableText utilise TLF, prend en charge l’affichage du texte rédigé de gauche à droite (LTR), par exemple, en français, de droite à gauche (RTL), comme en arabe, et du texte bidirectionnel, par exemple une phrase française au sein d’une phrase arabe. Si le sens du texte prédominant est de droite à gauche, définissez le style
L’utilisation TLF permet à RichEditableText de prendre en charge un nombre illimité d’opération d’annulation/rétablissement au cours d’une session d’édition. Une session d’édition commence lorsque le composant obtient le focus clavier et se termine lorsque le contrôle perd le focus.
RichEditableText utilise la classe TextContainerManager de TLF pour gérer l’affichage, le défilement, la sélection, la modification du texte et le menu contextuel.
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Un point d’insertion est alors défini après le nouveau texte. Si nécessaire, le texte défile pour vous assurer que le point d’insertion est visible.
Si un format n’est pas défini de manière cohérente à travers toute la plage, il a la valeur
Vous pouvez spécifier un vecteur de chaînes contenant les noms des formats qui vous intéressent ; dans le cas contraire, tous les formats sont calculés.
Si vous ne spécifiez pas de plage, la plage sélectionnée est utilisée.
Si une plage a été sélectionnée, le nouveau texte remplace le texte sélectionné. S’il existe un point d’insertion, le nouveau texte est inséré.
Un point d’insertion est alors défini après le nouveau texte. Si nécessaire, le texte défile pour vous assurer que le point d’insertion est visible.
Si l’une des deux positions est négative, la plage de texte est désélectionnée.
Les formats pris en charge sont ceux de l’objet TextLayoutFormat. La valeur
L’exemple suivant définit les propriétés
var textLayoutFormat:TextLayoutFormat = new TextLayoutFormat(); textLayoutFormat.fontSize = 12; textLayoutFormat.color = 0xFF0000; myRET.setFormatOfRange(textLayoutFormat);
Si vous utilisez les résultats de
Si vous souhaitez spécifier un format à appliquer à l’ensemble du texte, il serait préférable d’utiliser
L’exemple suivant définit les propriétés
myRET.setStyle("fontSize", 12); myRET.setStyle("color", 0xFF0000);
En raison du fait que Text Layout Framework virtualise TextLines à des fins de performances, cette hauteur est initialement une estimation de la capacité du composant à afficher l’ensemble du texte. Si vous faites défiler le texte jusqu’à sa fin, tous les lignes TextLines créées sont composées et
Pour faire défiler le texte verticalement, faites varier la position
En raison du fait que Text Layout Framework virtualise TextLines à des fins de performances, cette hauteur est initialement une estimation de la capacité du composant à afficher l’ensemble du texte. Si vous faites défiler le texte jusqu’à sa fin, tous les lignes TextLines créées sont composées et
Pour faire défiler le texte horizontalement, modifiez la position
La propriété
<s:RichEditableText>Hello <s:span fontWeight="bold"/>World</s:span></s:RichEditableText>et possède des éléments String et SpanElement que vous pouvez spécifier en tant que contenu à utiliser pour créer un objet TextFlow.
Cette propriété est typée sous forme d’objet car vous pouvez la définir en tant que chaîne, FlowElement ou tableau de chaînes et FlowElements. Dans l’exemple ci-dessus, le contenu spécifié est un tableau à deux éléments dont le premier est la chaîne « hello » et dont la deuxième est un élément SpanElement avec le texte « World » en gras.
Quelle que soit la manière dont vous spécifiez le contenu, il est converti en TextFlow et lorsque vous obtenez cette propriété, vous obtenez le résultat TextFlow.
Adobe recommande d’utiliser la propriété
Si elle est
Si cette propriété est
Ces styles de formatage, tels que
Vous pouvez par exemple, définir cette propriété sur 5 si vous souhaitez que la hauteur du composant RichEditableText soit suffisante pour afficher cinq lignes de texte.
Si cette propriété est
Cette propriété sera ignorée si vous spécifiez une hauteur explicite, un pourcentage de hauteur ou les deux contraintes
Cette propriété sera également ignorée si la propriété
La méthode
Comme la valeur par défaut des propriétés
Pour faire défiler le texte horizontalement, faites varier la position
La classe flash.system.IMEConversionMode définit des constantes pour les valeurs possibles de cette propriété. Vous pouvez également spécifier
Si la valeur est
Le fait de rendre le texte sélectionnable permet de copier du texte à partir du contrôle.
Cette propriété est ignorée si la propriété
La position active peut être le début ou la fin de la sélection.
Par exemple, si vous faites glisser la sélection de la position 12 à la position 8,
La valeur -1 indique « non défini ».
La position d’ancrage peut être le début ou la fin de la sélection.
Par exemple, si vous faites glisser la sélection de la position 12 à la position 8,
La valeur -1 indique « non défini ».
Les valeurs autorisées sont indiquées par la classe TextSelectionHighlighting. Les valeurs possibles sont les suivantes :
Un objet TextFlow est la classe la plus importante de TFL (Text Layout Framework). C’est la racine d’une arborescence d’objets FlowElement représentant le contenu de texte enrichi.
Vous créez habituellement un TextFlow à partir du marquage TLF à l’aide des méthodes
La définition de cette propriété affecte la propriété
Si vous définissez la classe
Si vous définissez la propriété
Si le texte contient des sauts de ligne explicites, CR (« \r »), LF (« \n ») ou CR+LF (« \r\n »), le contenu est défini sur un composant TextFlow qui contient plusieurs paragraphes, chacun ayant une plage.
La définition de cette propriété affecte également la propriété spécifiant la position de défilement du contrôle et la sélection de texte. Il réinitialise les propriétés
Pour transformer un objet TextFlow en marquage TLF, utilisez le marquage
Il est impossible de partager un seul TextFlow entre plusieurs occurrences de RichEditableText. Pour afficher le même texte dans la seconde occurrence, vous devez créer un deuxième TextFlow, soit en utilisant
La définition de cette propriété affecte la propriété
Si vous définissez la propriété
Si vous définissez la propriété
Si le texte contient des sauts de ligne explicites, CR (« \r »), LF (« \n ») ou CR+LF (« \r\n »), le contenu est défini sur un composant TextFlow qui contient plusieurs paragraphes, chacun ayant une plage.
Si vous définissez la classe
La définition de cette propriété affecte également la propriété spécifiant la position de défilement du contrôle et la sélection de texte. Elle réinitialise les propriétés
Cette propriété sera ignorée si vous spécifiez une largeur explicite, un pourcentage de largeur ou les deux contraintes
L’utilisation de cette propriété fait que les propriétés
Pour faire défiler le texte verticalement, modifiez la position
Un em est une unité de mesure typographiques égale à la taille en points. Il ne s’agit pas nécessairement de la largeur exacte du caractère« M », mais dans la plupart des polices le « M » correspond à environ un em de large. Le style
Vous pouvez par exemple, définir cette propriété sur 20 si vous souhaitez que la largeur du composant RichEditableText soit suffisante pour afficher 20 caractères.
Si cette propriété est
Cette propriété sera ignorée si vous spécifiez une largeur explicite, un pourcentage de largeur ou les deux contraintes
Cette propriété sera également ignorée si la propriété
La méthode
Comme la valeur par défaut des propriétés
Flex ne ferme pas la fenêtre automatiquement. Pour que l’icône de fermeture soit prise en charge, vous devez créer un gestionnaire pour l’événement
Le focus est désactivé pour cette partie d’habillage.
Pour faire glisser le conteneur TitleWindow, cliquez dans la barre de titre de la fenêtre en maintenant enfoncé le pointeur de la souris, puis déplacez la souris. Créez une classe d’habillage personnalisée pour modifier la zone de déplacement.
<s:TitleWindow>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TitleWindow> Events close="No default" windowMove="No default" windowMoveEnd="No default" windowMoveStart="No default" windowMoving="No default" </s:TitleWindow>]]>
Le composant TitleWindow est conçu comme une fenêtre contextuelle. Ne créez aucun composant TitleWindow dans MXML en tant que partie d’une application. Vous pouvez créer en revanche un composant MXML personnalisé basé sur la classe TitleWindow, puis utiliser la méthode
Le conteneur TitleWindow présente les caractéristiques de taille par défaut suivantes :
<s:TabBar>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TabBar Styles cornerRadius="4" />]]>
Le jeu de tabulations est défini par la propriété
Vous pouvez utiliser le contrôle TabBar pour définir l’enfant actif d’un conteneur ViewStack, comme l’illustre l’exemple suivant :
Remarque : les contrôles basés sur une liste Spark (la classe Spark ListBase et ses sous-classes, telles que ButtonBar, ComboBox, DropDownList, List et TabBar) ne prennent pas en charge la classe BasicLayout en tant que valeur de la propriété
<s:TabBar dataProvider="{myViewStack}"/> <mx:ViewStack id="myViewStack" borderStyle="solid"> <s:NavigatorContent id="search" label="Search"> <s:Label text="Search Screen"/> </s:NavigatorContent> <s:NavigatorContent id="custInfo" label="Customer Info"> <s:Label text="Customer Info"/> </s:NavigatorContent> <s:NavigatorContent id="accountInfo" label="Account Info"> <s:Label text="Account Info"/> </s:NavigatorContent> </mx:ViewStack>
Le conteneur TabBar présente les caractéristiques par défaut suivantes :
<s:RadioButton>
tag inherits all of the tag
attributes of its superclass, and adds the following tag attributes:
<s:RadioButton Properties enabled="" group="the automatically created default RadioButtonGroup" groupName="radioGroup" value="null" />]]>
Le groupe RadioButton peut faire référence à un groupe créé par la balise
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Le composant RadioButton possède les caractéristiques par défaut suivantes :
Lors de la création de boutons radio dans un composant RadioButtonGroup, il est préférable d’utiliser propriété
Le composant hôte de la fonctionnalité de rendu d’élément peut utiliser la méthode
Pour les contrôles tels que List et ButtonBar, vous pouvez utiliser les propriétés
<s:Panel>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Panel Properties controlBarContent="null" controlBarLayout="HorizontalLayout" controlBarVisible="true" title="" Styles borderAlpha="0.5" borderColor="0" borderVisible="true" cornerRadius="0" dropShadowVisible="true" > ... child tags ... </s:Panel>]]>
Le conteneur Panel présente les caractéristiques par défaut suivantes :
Remarque : le conteneur Panel ne surveille pas la propriété
<s:HGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:HGroup Properties columnWidth="no default" gap="6" horizontalAlign="left" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" requestedColumnCount="-1" requestedMaxColumnCount="-1" requestedMinColumnCount="-1" variableColumnWidth"true" verticalAlign="top" />]]>
Le conteneur HGroup présente les caractéristiques par défaut suivantes :
La classe définissant la fonctionnalité de rendu d’élément doit implémenter l’interface IItemRenderer.
La dernière opération effectuée par cette méthode doit être de définir la propriété
<s:FormItem>
tag inherits all the tag
attributes of its superclass and adds no new tag attributes:
<s:FormItem Properties helpContent="null" label="" required="false" sequenceLabel="" Common Styles errorIndicatorSource="assets/ErrorIndicator.png" requiredIndicatorSource="assets/RequiredIndicator.png" Mobile Styles leading="2" letterSpacing="0" />]]>
Cette propriété contrôle uniquement l'état de l'habillage. Vous devez assigner un validateur à l’enfant si vous souhaitez que la saisie soit validée.
<s:SkinnableContainer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnableContainer Properties autoLayout="true" creationPolicy="auto" layout="BasicLayout" Styles accentColor="0x0099FF" alignmentBaseline="useDominantBaseline" alternatingItemColors="" backgroundAlpha="1.0" backgroundColor="0xFFFFFF" baselineShift="0.0" blockProgression="TB" breakOpportunity="auto" cffHinting="horizontal_stem" clearFloats="none" color="0" contentBackgroundAlpha="" contentBackgroundColor="" digitCase="default" digitWidth="default" direction="LTR" dominantBaseline="auto" downColor="" firstBaselineOffset="auto" focusColor="" focusedTextSelectionColor="" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" inactiveTextSelectionColor="0xE8E8E8" justificationRule="auto" justificationStyle="auto" kerning="auto" leadingModel="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" listAutoPadding="40" listStylePosition="outside" listStyleType="disc" locale="en" paragraphEndIndent="0" paragraphSpaceAfter="0" paragraphSpaceBefore="0" paragraphStartIndent="0" renderingMode="CFF" rollOverColor="" symbolColor="" tabStops="null" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textIndent="0" textJustify="inter_word" textRotation="auto" trackingLeft="0" trackingRight="0" typographicCase="default" unfocusedTextSelectionColor="" verticalScrollPolicy="auto" whiteSpaceCollapse="collapse" wordSpacing="100%,50%,150%" Events elementAdd="No default" elementRemove="No default" />]]>
Pour améliorer les performances et limiter la taille de l’application, vous pouvez utiliser le conteneur Group. L’habillage du conteneur Group ne peut pas être configuré.
Le container SkinnableContainer possède les caractéristiques par défaut suivantes :
Remplacez cette fonction pour associer un comportement à la partie. Si vous souhaitez remplacer le comportement pour une partie d’habillage héritée d’une classe de base, n’appelez pas la méthode
Remplacez cette fonction pour supprimer le comportement de la partie.
<s:RichText>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:RichText Properties fontContext="IFlexModuleFactory" luminosityClip="false" luminosityInvert="false" maskType="MaskType.CLIP" textFlow="TextFlow" />]]>
Pour des raisons de performances, il ne prend pas en charge défilement, la sélection, la modification, les hyperliens cliquables ou les images chargées à partir d’URL. Si vous avez besoin de ces fonctionnalités, consultez la classe RichEditableText.
RichText utilise la bibliothèque Text Layout Framework (TLF), qui repose elle-même sur le nouveau moteur Flash Text Engine (FTE) de Flash Player 10. Associés, ils assurent la mise en forme de texte enrichi à l’aide d’une typographie internationale haute qualité.
L’architecture Spark fournit trois « primitives » de texte : Label, RichText et RichEditableText. Label est la plus rapide et la plus légère, car elle utilise uniquement FTE, et pas TLF. Mais elle est limitée dans ses capacités : aucun texte enrichi, aucun défilement, aucune sélection et aucune modification. RichText ajoute la possibilité de lire du texte à la présentation complexe, mais n’est absolument pas interactive. RichEditableText est la plus lourde, mais tire le meilleur parti de la technologie TLF. Vous devez utiliser la primitive la plus légère adaptée à vos besoins.
RichText est similaire à la classe control mx.controls.Text MX. Le contrôle Text utilise l’ancienne classe TextField, au lieu de TLF, pour afficher du texte.
Les principales différences entre RichText et Text sont les suivantes :
RichText utilise le modèle de texte enrichi orienté objet TLF, dans lequel les éléments de présentation de texte, tels que les divisions, les paragraphes, les étendues, les hyperliens, et les images sont représentés à l’exécution par des objets ActionScript. TextFlow est l’objet central de TLF permettant de représenter le texte enrichi. Vous pouvez spécifier l’affichage du texte enrichi dans RichText en définissant sa propriété
Lors de la compilation, vous pouvez placer des balises de marquage TLF dans la balise RichText, comme l’illustre l’exemple suivant :
<s:RichText>Hello <s:span fontWeight="bold">World!</s:span></s:RichText>Dans cet exemple, le compilateur MXML définit la propriété
Le formatage de texte par défaut est déterminé par des styles CSS, par exemple
Vous pouvez contrôler l’espacement entre les lignes l’aide du style
Si vous ne spécifiez aucun type de largeur pour RichText, la ligne la plus longue, tel que déterminée par ces sauts de ligne explicites, détermine la largeur de Label.
Lorsque vous spécifiez une largeur, le texte revient à la ligne sur le bord droit du composant et le texte est écrêté s’il dépasse du conteneur. Si vous définissez le style
Si votre texte dépasse l’espace d’affichage, RichText permet de le tronquer. La troncature de texte signifie le remplacement du texte superflu à l’aide d’un indicateur de troncature, tel que « ... ». Consultez les propriétés héritées
Par défaut, RichText n’a aucun arrière-plan, mais vous pouvez en tracer un en utilisant les styles
Etant donné que RichText utilise TLF, il prend en charge l’affichage du texte rédigé de gauche à droite (LTR), par exemple, en français, de droite à gauche (RTL), comme en arabe, et du texte bidirectionnel, par exemple une phrase française au sein d’une phrase arabe. Si le sens du texte prédominant est de droite à gauche, définissez le style
RichText utilise les classes TextFlowTextLineFactory et StringTextFlowFactory de TLF pour créer un ou plusieurs objets TextLine pour afficher statiquement son texte. Pour des performances accrues, ses objets TextLines créés ne contiennent pas d’informations sur les différents glyphes. Pour plus d’informations, consultez la classe TextLineValidity.
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
La propriété
<s:RichText>Hello <s:span fontWeight="bold"/>World</s:span></s:RichText>et possède des éléments String et SpanElement que vous pouvez spécifier en tant que contenu à utiliser pour créer un objet TextFlow.
Cette propriété est typée sous forme d’objet car vous pouvez la définir en tant que chaîne, FlowElement ou tableau de chaînes et FlowElements. Dans l’exemple ci-dessus, le contenu spécifié est un tableau à deux éléments dont le premier est la chaîne « hello » et dont la deuxième est un élément SpanElement avec le texte « World » en gras.
Quelle que soit la manière dont vous spécifiez le contenu, il est converti en TextFlow et lorsque vous obtenez cette propriété, vous obtenez le résultat TextFlow.
Adobe recommande d’utiliser la propriété
Le maskType définit la façon dont le masque est appliqué au composant.
Les valeurs possibles sont
Masquage d’écrêtage
Lors d’un masquage en mode écrêtage, un masque d’écrêtage est réduit à 1 bit. Cela signifie qu’un masque n’affecte pas l’opacité d’un pixel dans le contenu source ; il ne modifie pas la valeur, si le pixel correspondant dans le masque possède une valeur alpha autre que zéro ou le rend complètement transparent, si la valeur alpha du pixel du masque est égale à zéro.
Lors de l’utilisation du masquage d’écrêtage, seul le chemin actuel ainsi que les vecteurs et les remplissages de forme définis par le masque sont utilisés pour déterminer l’effet sur le contenu source. Les traits et les filtres de bitmap définis sur le masque sont ignorés. Toute zone remplie du masque est considérée comme étant remplie et applique ce rendu au contenu source. Le type et les paramètres du remplissage ne sont pas pertinents ; une couleur en aplat, de dégradé ou un remplissage bitmap dans un masque s’appliquent au contenu source sous-jacent, quelles que soient les valeurs alpha du remplissage de masque.
Les objets BitmapGraphics sont traités comme des rectangles remplis de bitmaps lorsqu’ils sont utilisés dans un masque d’écrêtage. Par conséquent, la couche alpha du bitmap source n’est pas pertinente lorsqu’une partie d’un masque, le bitmap, affecte le masque de la même manière qu’un rectangle au remplissage uniforme de dimensions équivalentes.
Masquage alpha
En mode alpha, l’opacité de chaque pixel du contenu source est multipliée par l’opacité de la région correspondante du masque. Par exemple, un pixel du contenu source d’une opacité de 1 qui est masqué par une région d’opacité de .5 produira une opacité de .5. Un pixel source d’une opacité de .8 masqué par une région d’une opacité de .5 affichera une opacité de .4.
Conceptuellement parlant, le masquage alpha équivaut à restituer le masque et le contenu source transformés en surfaces RVBA distinctes et à multiplier la couche alpha du contenu du masque avec la couche alpha du contenu source. Tout le contenu du masque est rendu dans sa surface avant la composition dans la surface du contenu source. Par conséquent, tous les fonctionnalités FXG, comme les traits, les filtres de bitmap et l’opacité de remplissage affecte la composition finale du contenu.
Lorsque vous êtes en mode alpha, la composition de la couche alpha des données bitmap est effectuée normalement dans la couche alpha du masque et influe sur le rendu final du contenu. Cela est valable pour les chemins et les formes remplies de bitmaps BitmapGraphics.
Masquage de luminosité
Un masque de luminosité, parfois appelé « masque léger », fonctionne de manière analogue à un masque alpha, sauf que l’opacité et la valeur de couleur RVB d’un pixel dans le contenu source sont multipliées par l’opacité et la valeur de couleur RVB de la région correspondante dans le masque.
Conceptuellement parlant, le masquage de luminosité équivaut à restituer le masque et le contenu source transformés en surfaces RVBA distinctes et à multiplier la couche alpha et la valeur de couleur RVB du contenu du masque avec la couche alpha et la valeur de couleur RVB du contenu source. Tout le contenu du masque est rendu dans sa surface avant la composition dans la surface du contenu source. Par conséquent, tous les fonctionnalités FXG, comme les traits, les filtres de bitmap et l’opacité de remplissage affecte la composition finale du contenu.
Le masquage de luminosité n’est pas une fonctionnalité native de Flash, mais est disponible dans des outils Adobe Creative Suite tels qu’Adobe Illustrator et Adobe Photoshop. Pour obtenir l’effet visuel d’un masque de luminosité dans le contenu rendu par Flash, un élément graphique spécifiant un masque de luminosité instancie en fait un filtre Shader qui simule l’aspect visuel d’un masque de luminosité tel qu’il est rendu dans les outils Adobe Creative Suite.
Les objets masqués par des masques de luminosité peuvent définir des propriétés pour contrôler la valeur de couleur RVB et l’écrêtage du masque. Voir les attributs de luminosityInvert et luminosityClip.
Un objet TextFlow est la classe la plus importante de TFL (Text Layout Framework). C’est la racine d’une arborescence d’objets FlowElement représentant le contenu de texte enrichi.
Vous créez habituellement un TextFlow à partir du marquage TLF à l’aide des méthodes
La définition de cette propriété affecte la propriété
Si vous définissez la classe
Si vous définissez la propriété
Si le texte contient des sauts de ligne explicites, CR (
Pour transformer un objet TextFlow en balisage TLF, utilisez le balisage renvoyé par la méthode
<s:SkinnableDataContainer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnableDataContainer Properties autoLayout="true" dataProvider="null" itemRenderer="null" itemRendererFunction="null" layout="VerticalLayout" typicalItem="null" Styles alignmentBaseline="useDominantBaseline" baselineShift="0.0" cffHinting="horizontal_stem" color="0" digitCase="default" digitWidth="default" direction="LTR" dominantBaseline="auto" focusAlpha="0.55" focusColor="" focusThickness="2" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" locale="en" renderingMode="CFF" textAlign="start" textAlignLast="start" textAlpha="1" textJustify="inter_word" trackingLeft="0" trackingRight="0" typographicCase="default" Events rendererAdd="No default" rendererRemove="No default" />]]>
La classe prend comme enfants des éléments de données ou des éléments visuels qui implémentent l’interface et sont des objets d’affichage. Les éléments de données peuvent être des éléments de données simples tels que des objets String ou Number, ou des éléments de données plus complexes tels que des objets Object ou XMLNode. Même si ces conteneurs peuvent contenir des éléments visuels, ils sont en général utilisés uniquement pour stocker des éléments de données en tant qu’enfants.
Une fonctionnalité de rendu d’élément définit la représentation visuelle de l’élément de données dans le conteneur. La fonctionnalité de rendu d’élément convertit l’élément de données dans un format qui peut être affiché par le conteneur. Vous devez transmettre un rendu d’élément pour une classe SkinnableDataContainer pour procéder au rendu des données éléments correctement.
Si vous souhaitez qu’un conteneur d’éléments de données et qu’un habillage n’est pas nécessaire, il est recommandé d’utiliser une classe DataGroup (qui ne peut pas être habillée) pour améliorer les performances et la taille de l’application.
Le conteneur SkinnableDataContainer présente les caractéristiques par défaut suivantes :
<s:Scroller>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Scroller Properties measuredSizeIncludesScrollBars="true" minViewportInset="0" viewport="null" Styles alignmentBaseline="use_dominant_baseline" alternatingItemColors="" baselineShift="0.0" blockProgression="TB" breakOpportunity="auto" cffHinting="horizontal_stem" clearFloats="none" color="0" contentBackgroundAlpha="" contentBackgroundColor="" digitCase="default" digitWidth="default" direction="LTR" dominantBaseline="auto" downColor="" firstBaselineOffset="auto" focusColor="" focusedTextSelectionColor="" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" horizontalScrollPolicy="auto" inactiveTextSelection="" justificationRule="auto" justificationStyle="auto" kerning="auto" leadingModel="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" listAutoPadding="40" listStylePosition="outside" listStyleType="disc" locale="en" paragraphEndIndent="0" paragraphSpaceAfter="0" paragraphSpaceBefore="0" paragraphStartIndent="0" renderingMode="CFF" rollOverColor="" symbolColor="" tabStops="null" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textIndent="0" textJustify="inter_word" textRotation="auto" trackingLeft="0" trackingRight="0" typographicCase="default" unfocusedTextSelectionColor="" verticalScrollPolicy="auto" whiteSpaceCollapse="collapse" wordSpacing="100%,50%,150%" />]]>
Les composants Spark Group, DataGroup et RichEditableText implémentent l’interface IViewport et peuvent être utilisés comme enfants du contrôle Scroller, comme l’illustre l’exemple suivant :
<s:Scroller width="100" height="100"> <s:Group> <mx:Image width="300" height="400" source="@Embed(source='assets/logo.jpg')"/> </s:Group> </s:Scroller>
La taille du contrôle Image est défini comme étant supérieure à celle de son conteneur Group parent. Par défaut, l’enfant dépasse les limites du conteneur parent. Plutôt que de permettre à l’enfant de s’étendre au-delà des limites du conteneur parent, le contrôle Scroller signifie l’écrêtage de l’enfant en fonction des limites et l’affichage de barres de défilement.
Tous les conteneurs Spark n’implémentent pas l’interface IViewPort. Par conséquent, ces conteneurs, tels que BorderContainer et SkinnableContainer, ne peuvent pas être utilisés comme enfant direct du composant Scroller. Toutefois, tous les conteneurs Spark peuvent avoir un composant Scroller comme composant enfant. Par exemple, pour utiliser des barres de défilement sur un enfant du conteneur BorderContainer Spark, enveloppez l’enfant dans un composant Scroller.
Pour assurer le défilement de l’intégralité du conteneur BorderContainer, enveloppez-le dans un conteneur Group. Ensuite, transformez le conteneur Group en enfant du composant Scroller. Pour les conteneurs Spark habillables qui n’implémentent pas l’interface IViewport, vous pouvez également créer un habillage personnalisé pour le conteneur incluant le composant Scroller.
L’interface IViewport définit une fenêtre d’affichage pour les composants qui l’implémentent. Une fenêtre est un jeu partiel rectangulaire de la zone d’un conteneur que vous souhaitez afficher au lieu d’afficher le conteneur entier. Les barres de défilement contrôlent les propriétés
Vous pouvez combiner des barres de défilement explicites pour la fenêtre du conteneur. Les paramètres de fenêtre déterminent la position initiale de la fenêtre. Vous pouvez ensuite utiliser les barres de défilement pour la déplacer, comme l’illustre l’exemple suivant :
<s:Scroller width="100" height="100"> <s:Group horizontalScrollPosition="50" verticalScrollPosition="50"> <mx:Image width="300" height="400" source="@Embed(source='assets/logo.jpg')"/> </s:Group> </s:Scroller>
Les barres de défilement sont affichées en fonction de la stratégie des barres de défilement horizontale et verticale, dont la valeur peut être
La présentation de l’habillage Scroller n’est pas modifiable. Elle est définie de manière inconditionnelle sur une implémentation de présentation privée qui gère les stratégies de défilement. Les habillages de composant Scroller peuvent uniquement fournir des barres de défilement de remplacement. Pour contrôler de façon plus approfondie la présentation d’une fenêtre et de ses barres de défilement, au lieu d’utiliser un composant Scroller, ajoutez ces éléments à un objet
Le contrôle Scroller possède les caractéristiques par défaut suivantes :
S’il existe une classe verticalScrollBar visible, la fenêtre fait par défaut l’objet d’un défilement vertical par « étapes »
Sinon, s’il existe une classe horizontalScrollBar visible, la fenêtre fait par défaut l’objet d’un défilement horizontal par « étapes »
L’appel de la méthode
Les composants tels que TextArea, qui « répartissent » leur contenu pour s’adapter à la largeur ou la hauteur disponible peuvent utiliser cette propriété pour stabiliser leur taille mesurée. Par défaut, un composant TextArea est défini par ses propriétés
Dans les composants dont le contenu n’est pas réparti, comme les éléments d’un objet List typique, le comportement par défaut est préférable, car il rend moins probable le masquage du contenu du composant par une barre de défilement.
La fenêtre est ajoutée à l’habillage du composant Scroller, qui met en forme la fenêtre et ses barres de défilement. Lorsque la propriété
<s:VGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:VGroup Properties gap="6" horizontalAlign="left" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" requestedMaxRowCount="-1" requestedMinRowCount="-1" requestedRowCount"-1" rowHeight="no default" variableRowHeight="true" verticalAlign="top" />]]>
Le conteneur VGroup présente les caractéristiques par défaut suivantes :
<s:ComboBox>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ComboBox Properties itemMatchingFunction="null" labelToItemFunction="null" maxChars="0" openOnInput="true" prompt="null" restrict="" Styles paddingBottom="3" paddingLeft="3" paddingRight="3" paddingTop="5" />]]>
Une différence entre les contrôles est que la zone d’invite du contrôle ComboBox est implémentée à l’aide du contrôle TextInput, au lieu du contrôle Label pour le contrôle DropDownList. Par conséquent, l’utilisateur peut modifier la zone d’invite du contrôle afin de saisir une valeur qui ne correspond à aucune des options prédéfinies.
Par exemple, le contrôle DropDownList permet uniquement à l’utilisateur d’effectuer une sélection dans une liste d’éléments prédéfinis du contrôle. Le contrôle ComboBox permet à l’utilisateur de sélectionner un élément prédéfini ou de saisir un nouvel élément dans la zone d’invite. Votre application peut reconnaître qu’un nouvel élément a été saisi et éventuellement l’ajouter à la liste des éléments dans le contrôle.
Le contrôle ComboBox effectue en outre une recherche dans la liste d’éléments au fur et à mesure que l’utilisateur saisit des caractères dans la zone d’invite. Lorsque l’utilisateur saisit des caractères, la zone déroulante du contrôle s’ouvre et met en évidence l’élément de la liste qui correspond le mieux aux caractères saisis.
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Remarque : les contrôles basés sur une liste Spark (la classe Spark ListBase et ses sous-classes, telles que ButtonBar, ComboBox, DropDownList, List et TabBar) ne prennent pas en charge la classe BasicLayout en tant que valeur de la propriété
Le contrôle ComboBox possède les caractéristiques par défaut suivantes :
spark.skins.spark.ComboBoxTextInputSkin
La fonction référencée par cette propriété accepte une chaîne d’entrée et renvoie l’index des éléments dans le fournisseur de données correspondant à l’entrée. Les éléments sont renvoyés sous forme de vecteur. <int> d’index dans le fournisseur de données.
La fonction de rappel doit présenter la signature suivante :
function myMatchingFunction(comboBox:ComboBox, inputText:String):Vector.<int>
Si la valeur de cette propriété est null, le contrôle ComboBox trouve des correspondances en utilisant l’algorithme par défaut. Par défaut, si une chaîne saisie de longueur n équivaut au n premiers caractères d’un élément (la casse étant ignorée), elle est considérée comme étant une correspondance de cet élément. Par exemple, « aRiz » correspond à « Arizona », ce qui n’est pas le cas de « riz ».
Pour désactiver la recherche, créez une fonction de rappel qui renvoie un vecteur vide. <int>.
Le texte d’invite s’affiche lors de la création initiale du contrôle. Le texte d’invite disparaît lorsque le contrôle obtient le focus, lorsque l’entrée de texte n’est pas nulle ou lorsqu’un élément est sélectionné dans la liste. Le texte d’invite réapparaît lorsque le contrôle perd le focus, mais uniquement si aucun texte n’a été saisi (si la valeur du champ de texte est la chaîne vide ou de valeur null).
Vous pouvez changer le style du texte d’invite avec les feuilles de style CSS. Si le contrôle comporte un texte d'invite et n'est pas désactivé, le style est défini par le pseudo-sélecteur
L’exemple de CSS suivant modifie la couleur du texte d’invite dans les contrôles TextInput. Le contrôle ComboBox utilise un contrôle TextInput comme sous-composant pour le texte d’invite et d’entrée, ce qui signifie que son texte d’invite change lorsque vous utilisez cette feuille de style CSS :
@namespace s "library://ns.adobe.com/flex/spark"; s|TextInput:normalWithPrompt { color: #CCCCFF; }
La fonction de rappel doit présenter la signature suivante :
function myLabelToItem(value:String):Object
Emplacement auquel
La fonction de rappel par défaut renvoie
<s:Image>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Image Properties clearOnLoad="true" contentLoader="null" contentLoaderGrouping="null" fillMode="scale" horizontalAlign="center" preliminaryHeight="NaN" preliminaryWidth="NaN" scaleMode="letterbox" smooth="false" source="null verticalAlign="middle" Styles backgroundAlpha="NaN" backgroundColor="NaN" enableLoadingState="false" smoothingQuality="default" Events complete="No default" httpStatus="No default" ioError="No default" progress="No default" ready="No default" securityError="No default" />]]>
Remarque : Flex comprend également le contrôle SWFLoader pour charger les applications Flex. Le contrôle Image s’utilise généralement pour charger des fichiers graphiques statiques et des fichiers SWF et le contrôle SWFLoader pour charger les applications Flex. Le contrôle Image est également conçu pour être utilisé dans les rendus d’élément et les éditeurs d’élément personnalisés.
Remarque : Flex comporte également la classe BitmapImage. Cette classe est utilisée pour incorporer des images dans des habillages et des composants FXG.
Les images incorporées se chargent immédiatement, car elles font déjà partie du fichier SWF Flex. Toutefois, elles augmentent la taille de votre application et ralentissent l’initialisation de l’application. Les images incorporées demandent également que vous recompiliez vos applications à chaque fois que vos fichiers d’image changent.
Pour ne pas incorporer une ressource, vous pouvez la charger au moment de l’exécution. Vous pouvez charger une ressource à partir du système de fichiers local dans lequel s’exécute le fichier SWF ou accéder à une ressource distante, en général via une requête HTTP sur un réseau. Ces images ne dépendent pas de votre application Flex, vous pouvez donc les modifier sans provoquer de recompilation tant que les noms des images modifiées restent les mêmes. Les images référencées n’augmentent pas le temps de chargement initial d’une application. Toutefois, vous pouvez rencontrer un délai lorsque vous utilisez les images et les chargez dans Flash Player ou AIR.
L'habillage par défaut fournit un habillage d'image sans chrome avec un programme de préchargement basé sur une barre de progression générique et une icône représentant une image brisée pour refléter le contenu.
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
La commande Image possède par défaut les caractéristiques suivantes :
Notez que, pour le contenu chargé à l'aide du Loader, les événements
Remarque : il n’est pas assuré que l’événement
Notez que, pour le contenu chargé à l’aide du Loader, les événements
<s:DataGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:DataGroup Properties dataProvider="null" itemRenderer="null" itemRendererFunction="null" typicalItem="null" Events rendererAdd="No default" rendererRemove="No default" />]]>
La classe prend comme enfants des éléments de données ou des éléments visuels qui implémentent l’interface IVisualElement et sont des classes DisplayObject. Les éléments de données peuvent être des éléments de données simples tels que des objets String ou Number, ou des éléments de données plus complexes tels que des objets Object ou XMLNode. Même si ces conteneurs peuvent contenir des éléments visuels, ils sont en général utilisés uniquement pour stocker des éléments de données en tant qu’enfants.
Une fonctionnalité de rendu d’élément définit la représentation visuelle de l’élément de données dans le conteneur. La fonctionnalité de rendu d’élément convertit l’élément de données dans un format qui peut être affiché par le conteneur. Vous devez transmettre un rendu d’élément à un conteneur pour effectuer le rendu des éléments de données approprié.
Pour améliorer les performances et limiter la taille de l’application, l’habillage du conteneur DataGroup ne peut pas être configuré. Pour appliquer un habillage, utilisez plutôt la classe SkinnableDataContainer.
Le conteneur DataGroup présente les caractéristiques par défaut suivantes :
Si la valeur de
Le rendu d’élément correspondant à chaque index renvoyé peut être récupéré avec la méthode
L’ordre des éléments dans le vecteur renvoyé n’est pas garanti.
Notez que les classes VerticalLayout et HorizontalLayout proposent des propriétés
Cette méthode est appelée automatiquement si la propriété
Selon l’élément de données, renvoyez la représentation
La dernière opération effectuée par cette méthode doit être de définir la propriété
La structure Flex contient plusieurs implémentations de l’interface IList, dont ArrayCollection, ArrayList et XMLListCollection.
function myItemRendererFunction(item:Object):IFactory
Le conteneur utilise l’élément de données standard et la fonctionnalité de rendu d’élément associée pour déterminer la taille par défaut des enfants du conteneur. Si l’élément standard est défini, il n’est pas nécessaire que le conteneur définisse la taille de chaque enfant lorsqu’ils sont tracés à l’écran.
Le fait de définir cette propriété définit automatiquement la propriété
Restriction : si
<s:HSlider>
tag inherits all of the tag
attributes of its superclass and adds no tag attributes:
<s:HSlider/>]]>
Le curseur peut autoriser une plage continue de valeurs entre ses valeurs minimales et maximales, ou être limité à des valeurs à intervalles spécifiques entre la valeur minimale et maximale. Le curseur peut contenir des astuce sur les données pour afficher sa valeur actuelle.
Le contrôle HSlider possède les caractéristiques par défaut suivantes :
spark.skins.spark.HSliderThumbSkin
spark.skins.spark.HSliderTrackSkin
<s:DataGrid>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:DataGrid Properties columns="null" dataProvider="null" dataTipField="null" dataTipFunction="null" editable="false" editorColumnIndex="-1" editorRowIndex="-1" imeMode="null" itemEditor="null" itemRenderer="DefaultGridItemRenderer" preserveSelection="true" requestedColumnCount="-1" requestedMaxRowCount="-1" requestedMinColumnCount="-1" requestedMinRowCount="-1" requestedRowCount="-1" requireSelection="false" resizeableColumns="true" rowHeight="Calculated default" selectedCell="null" selectedCells="empty Vector.<CellPosition>" selectedIndex="null" selectedIndices="empty Vector.<CellPosition>" selectedItem="null" selectedItems="empty Vector.<Object>" selectionMode="singleRow" showDataTips="false" sortableColumns="true" typicalItem="null" variableRowHeight="false" Styles alignmentBaseline="useDominantBaseline" baselineShift="0.0" cffHinting="horizontalStem" color="0" defaultGridItemEditor="null" digitCase="default" digitWidth="default" direction="ltr" dominantBaseline="auto" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" justificationRule="auto" justificationStyle="auto" kerning="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" locale="en" renderingMode="cff" stretchCursor="cursorStretch symbol from Assets.swf" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textJustify="interWord" trackingLeft="0" trackingRight="0" typographicCase="default" verticalScrollPolicy="auto" Styles for the Spark Theme alternatingRowColors="undefined" borderAlpha="1.0" borderColor="0x696969" borderVisible="true" caretColor="0x0167FF" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" rollOverColor="0xCEDBEF" selectionColor="0xA8C6EE" symbolColor="0x000000" Styles for the Mobile Theme leading="0" letterSpacing="0" selectionColor="0xE0E0E0" symbolColor="0x000000" Events caretChange="No default" gridClick="No default" gridDoubleClick="No default" gridItemEditorSessionCancel="No default" gridItemEditorSessionSave="No default" gridItemEditorSessionStart="No default" gridItemEditorSessionStarting="No default" gridMouseDown="No default" gridMouseDrag="No default" gridMouseUp="No default" gridMouseRollOut="No default" gridMouseRollOver="No default" selectionChange="No default" selectionChanging="No default" sortChange="No default" sortChanging="No default" />]]>
Le contrôle Spark DataGrid est implémenté comme une enveloppe habillable autour du contrôle Spark Grid. Le contrôle Grid définit les colonnes de la grille de données, et la plupart des fonctionnalités du contrôle DataGrid.
L’habillage DataGrid est responsable de la disposition de la grille, de l’en-tête de colonne et du composant Scroller. L’habillage configure également les éléments graphiques utilisés pour rendre les éléments visuels servant d’indicateurs, de séparateurs et d’arrière-plans. L’habillage DataGrid définit par ailleurs un rendu d’élément par défaut, qui permet d’afficher le contenu de chaque cellule. Veuillez consulter la documentation de la fonctionnalité de rendu classe pour la liste des styles pris en charge.
Les transitions dans les rendus d’éléments DataGrid ne sont pas prises en charge. La classe GridItemRenderer ayant désactivé sa propriété
Si cet événement est annulé, l’éditeur d’élément ne sera pas créé.
Cet événement est distribué lorsque l’utilisateur interagit avec le contrôle. Lorsque vous triez la collection du fournisseur de données par programmation, le composant ne distribue pas la
Le contrôle DataGrid a un gestionnaire par défaut pour cet événement, qui implémente le tri d'une seule colonne et met à jour les
tri de plusieurs colonnes peut être implémentée par l'appel de la
Cet événement est distribué lorsque l’utilisateur interagit avec le contrôle. Lorsque vous triez la collection du fournisseur de données par programmation, le composant ne distribue pas la
Cet événement est distribué lorsque l’utilisateur interagit avec le contrôle. Lorsque vous modifiez la sélection par programmation, le composant ne distribue pas l'événement
Cet événement est distribué lorsque l’utilisateur interagit avec le contrôle. Lorsque vous modifiez la sélection par programmation, le composant ne distribue pas l'événement
Pour gérer cet événement, affectez un gestionnaire d’événement à la partie d’habillage
Pour gérer cet événement, affectez un gestionnaire d’événement à la partie d’habillage
Pour gérer cet événement, affectez un gestionnaire d’événement à la partie d’habillage
Pour gérer cet événement, affectez un gestionnaire d’événement à la partie d’habillage
Pour gérer cet événement, affectez un gestionnaire d’événement à la partie d’habillage
Pour gérer cet événement, affectez un gestionnaire d’événement à la partie d’habillage
Pour gérer cet événement, affectez un gestionnaire d’événement à la partie d’habillage
Pour gérer cet événement, affectez un gestionnaire d’événement à la partie d’habillage de
Si l’objet
Si l’objet
La classe flash.system.IMEConversionMode définit des constantes pour les valeurs possibles de cette propriété. Vous pouvez également spécifier
Pour accéder à l’occurrence de l’éditeur d’élément et à la nouvelle valeur de l’élément lorsqu’un élément est modifié, utilisez la propriété
La propriété
Ne définissez pas cette propriété dans MXML.
<s:RadioButtonGroup>
tag inherits all of the
tag attributes of its superclass, and adds the following tag attributes:
<s:RadioButtonGroup Properties enabled="true" selectedValue="null" selection="null" Events change="No default" itemClick="No default" valueCommit="No default" />]]>
Notez que le contrôle RadioButtonGroup est une sous-classe du composant EventDispatcher, pas du contrôle UIComponent, et qu’il implémente l’interface IMXMLObject. Toutes les autres composants visuels Flex implémentent l’interface IVisualElement. La déclaration du composant RadioButtonGroup doit être contenue dans la balise
Pour utiliser ce composant d'un composant à base de listes (par exemple List ou DataGrid) créez une option de rendu d'élément. Pour plus d'informations sur la création d'une option de rendu d'élément, consultez la section
Puisqu’une modification de programmation déclenche cet événement, assurez-vous que les gestionnaires d’événements
Si vous définissez
<s:VScrollBar>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:VScrollBar Properties viewport="" />]]>
Bien que vous puissiez utiliser le contrôle VScrollBar de façon autonome, il convient généralement de l'ajouter à un autre groupe de composants pour bénéficier de la fonctionnalité de défilement.
Le contrôle VScrollBar possède les caractéristiques par défaut suivantes :
spark.skins.spark.VScrollBarThumbSkin
spark.skins.spark.VScrollBarTrackSkin
Le comportement par défaut consiste à faire défiler verticalement par le nombre d’« étapes » de la propriété
L’appel de la méthode
Si la propriété
Si la valeur de
<s:VideoDisplay>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:VideoDisplay Properties autoDisplayFirstFrame="true" autoPlay="true" autoRewind="true" loop="false" muted="false" pauseWhenHidden="true" scaleMode="letterbox" source="" volume="1" Events bytesLoadedChange="No default" complete="No default" currentTimeChange="No default" durationChange="No default" mediaPlayerStateChange="No default" />]]>
Le contrôle VideoDisplay possède les caractéristiques par défaut suivantes :
L’événement risque de ne pas être distribué si la source est définie sur null ou qu’une erreur de lecture se produit.
L’événement risque de ne pas être distribué si la source est définie sur null ou qu’une erreur de lecture se produit.
L’événement risque de ne pas être distribué si la source est définie sur null ou qu’une erreur de lecture se produit.
Pour relancer la lecture, appelez la méthode
Si la durée est inférieure à 0 ou NaN, renvoie une exception. Si la durée dépasse la fin du flux ou le volume de fichier téléchargé jusque là, tente une recherche et, lors de l’échec, lance une reprise.
La propriété
Remarque : en cas de diffusion en flux continu, une recherche vous conduit toujours à l’heure exacte spécifiée même si le fichier FLV source n’y possède pas d’image-clé.
La recherche est asynchrone, par conséquent, si vous appelez la méthode
Si
Même si la propriété
Si la propriété
Cette propriété n’a aucun effet pour la diffusion en continu live des vidéos.
Si la vidéo est désactivée (ou l’un de ses parents est désactivé), la vidéo s’interrompt également. Lorsque la vidéo est réactivée toutefois, la lecture n’est pas reprise. Ce comportement n’est pas contrôlé par
La vidéo peut ne pas être en cours de lecture, car il se peut qu’elle effectue une recherche ou une mise en mémoire tampon, mais une tentative de lecture de la vidéo a lieu.
Si aucune valeur de largeur, de hauteur ou de contrainte n’est spécifiée sur le composant, cette propriété est sans effet.
Pour un téléchargement progressif, la source est simplement un chemin ou une URL pointant vers le fichier vidéo à lire.
Pour une diffusion à flux continu (diffusion à flux continu enregistrée, diffusion à flux continu en direct ou diffusion à flux continu à taux multibits), la propriété source est un objet DynamicStreamingVideoSource. Si vous souhaitez simplement lire un flux vidéo en direct ou enregistré sans prise en charge de débits multiples, vous pouvez transmettre une chaîne URL pointant vers le flux vidéo. Toutefois, si vous procédez ainsi, le streamType est supposé être de type « all ». Vous ne disposez pas d’autant de contrôle sur la diffusion en continu qu’avec l’objet DynamicStreamingVideoSource.
Remarque : Il n'est pas recommandé de configurer la source sur un MediaPlayerStateChangeEvent.LOADING ou un MediaPlayerStateChangeEvent.READY si la source a été définie précédemment. Il pourrait en résulter une boucle infinie ou un RTE. Si vous devez effectuer une telle opération, attendez un cadre supplémentaire pour définir la source.
Si la source est
<s:TileGroup>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TileGroup Properties columnAlign="left" columnCount="-1" columnWidth="0" horizontalAlign="justify" horizontalGap="6" orientation="rows" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" requestedColumnCount"-1" requestedRowCount="-1" rowAlign="top" rowCount="-1" rowHeight="0" verticalAlign="justify" verticalGap="6" />]]>
Le conteneur TileGroup présente les caractéristiques par défaut suivantes :