Une sous-classe de SkinnableComponent doit remplacer cette méthode pour renvoyer une valeur.
<s:Range>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Range Properties maximum="100" minimum="0" snapInterval="1" stepSize="1" value="0" />]]>
Range est une classe de base pour différents contrôles nécessitant une fonction de plage, notamment TrackBase et Spinner.
Si
Les valeurs valides pour une plage sont définies par la somme de la propriété
Si, par exemple,
Toutes les mises à jour de la propriété
Cette méthode suppose que l’appelant a déjà utilisé la valeur
Les modifications apportées à la propriété value sont limitées par la propriété
Les modifications apportées à la propriété value sont limitées par la propriété
Si, par exemple,
Si la valeur de cette propriété est zéro, alors les valeurs possibles sont uniquement limitées entre les valeurs minimum et maximum incluses.
Cette propriété limite également les valeurs possibles pour la propriété
Les modifications apportées à la propriété value sont limitées par la propriété
<s:ToggleButtonBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ToggleButtonBase Properties selected="false" events change="No default" />]]>
<s:ItemRenderer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ItemRenderer Properties autoDrawBackground="true" selected="false" showsCaret="false" />]]>
Les rendus d’élément prennent en charge des états d’affichage facultatifs. En règle générale, vous utilisez des états d’affichage de rendus d’éléments MXML afin de contrôler l’aspect d’un élément de données en fonction de l’interaction de l’utilisateur avec l’élément. La classe ItemRenderer prend en charge tous les états d’affichage, de sorte que vous puissiez utiliser ces rendus d’élément avec des classes à base de listes.
Flex définit les états d’affichage suivants, que vous pouvez prendre en charge dans vos rendus d’élément :
Lorsque l’utilisateur interagit avec un contrôle d’une manière qui modifie l’état d’affichage du rendu d’élément, Flex commence par déterminer si la fonctionnalité de rendu définit cet état d’affichage. Si le rendu d’élément prend en charge l’état d’affichage, Flex définit le rendu d’élément de sorte qu’il utilise cet état d’affichage. Si le rendu d’élément ne prend pas en charge l’état d’affichage, Flex n’a aucun effet.
Une sous-classe de l’objet ItemRenderer doit remplacer cette méthode pour renvoyer une valeur si le comportement souhaité est différent du comportement par défaut.
Dans Flex 4.0, les 3 états principaux étaient "normal", "hovered" et "selected". Dans Flex 4.5, "down" et "downAndSelected" ont été ajoutés.
L’ensemble complet des états pris en charge (par ordre de priorité) est le suivant :
Si la valeur est définie sur
Si la valeur est définie sur
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:GroupBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GroupBase Properties autoLayout="true" clipAndEnableScrolling="false" horizontalScrollPosition="null" luminosityClip="false" luminosityInvert="false" layout="BasicLayout" mask="" maskType="clip" mouseEnabledWhereTransparent="true" resizeMode="noScale" verticalScrollPosition="no default" Styles accentColor="0x0099FF" alignmentBaseline="useDominantBaseline" alternatingItemColors="undefined" baselineShift="0" blockProgression="tb" breakOpportunity="auto" cffHinting="horizontalStem" chromeColor="0xCCCCCC" color="0x000000" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" clearFloats="none" digitCase="default" digitWidth="default" direction="ltr" disabledAlpha="0.5" dominantBaseline="auto" firstBaselineOffset="auto" focusColor="0x70B2EE" focusedTextSelectionColor="A8C6EE" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" inactiveTextSelectionColor="E8E8E8" 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="0xCEDBEF" symbolColor="0x000000" tabStops="null" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textIndent="0" textJustify="interWord" textRotation="auto" trackingLeft="0" trackingRight="0" typographicCase="default" unfocusedTextSelectionColor="0xE8E8E8" whiteSpaceCollapse="collapse" wordSpacing="100%,50%,150%" />]]>
Si l’objet de mise en page n’a pas encore été défini, createChildren() attribue à ce conteneur un objet de mise en page par défaut, BasicLayout.
L’implémentation appelle les méthodes
L’implémentation appelle les méthodes
Si l’élément à renvoyer n’est pas déjà un enfant visible, c’est-à-dire s’il a été créé ou recyclé et que eltWidth ou eltHeight est spécifié, la taille initiale de l’élément est définie avec setLayoutBoundsSize() avant sa validation. Cela est important pour les composants, tels que le texte, qui est redistribué lorsque la mise en forme est justifiée en fonction de la largeur ou de la hauteur du groupe.
L’élément de présentation renvoyé aura été validé.
Cette méthode crée ou recycle et valide à la demande les éléments de présentation.
Cette méthode n’est pas destinée à être appelée directement. Elle est appelée par les présentations qui prennent en charge la virtualisation.
Type de masque. 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.
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.
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.
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.
Remarque : ne conservez pas cet objet car le groupe le détruit et le crée à la demande.
La valeur par défaut est
Associe une classe d’habillage à une classe de composant en définissant la propriété de style
MyComponent { skinClass: ClassReference("my.skins.MyComponentSkin") }
L’exemple suivant définit la propriété
<MyComponent skinClass="my.skins.MyComponentSkin"/>
Cette méthode instancie l’habillage du composant, ajoute l’habillage en tant qu’enfant du composant et résout toutes les associations de parties d’habillage.
En règle générale, les sous-classes de SkinnableComponent ne remplacent pas cette méthode.
En règle générale, les sous-classes de SkinnableComponent ne remplacent pas cette méthode.
Une sous-classe de SkinnableComponent doit remplacer cette méthode pour renvoyer une valeur.
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.
Outre la possibilité d’ajouter une propriété
La troncature de texte signifie le remplacement du texte superflu à l’aide d’un indicateur de troncature, tel que « ... ». L’indicateur de troncature dépend des paramètres régionaux. Il n’est spécifié par la ressource « truncationIndicator » du groupe de ressources principal.
Si
Si
Si la valeur de
La troncature s’effectue uniquement si la valeur du style
La troncature de texte signifie le remplacement du texte superflu à l’aide d’un indicateur de troncature, tel que « ... ». L’indicateur de troncature dépend des paramètres régionaux. Il n’est spécifié par la ressource « truncationIndicator » du groupe de ressources principal.
Si la valeur est 0, aucune troncature se produit. Au lieu de cela, le texte est tout simplement écrêté s’il est supérieur aux limites du composant.
Si la valeur est un entier positif, le texte sera tronquée si nécessaire, pour réduire le nombre de lignes à cet entier.
Si la valeur est -1, le texte sera tronqué afin d’afficher autant de lignes que possible dans la hauteur du composant.
La troncature s’effectue uniquement si la valeur du style
La mise en forme de ce texte est contrôlée par des styles CSS. Les styles pris en charge dépendent de la sous-classe.
<s:ScrollBarBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ScrollBarBase Properties pageSize="20" snapInterval="1" viewport="null" Styles autoThumbVisibility="true" fixedThumbSize="false" repeatDelay="500" repeatInterval="35" smoothScrolling="true" symbolColor="0x000000" />]]>
Ce contrôle étend la classe TrackBase. Il s’agit de la classe de base des contrôles HScrollBar et VScrollBar.
Une barre de défilement se compose d’un rail, d’un curseur de défilement de taille variable et de deux boutons fléchés facultatifs. Pour calculer l’état d’affichage, la classe ScrollBarBase utilise quatre paramètres :
Si le style
Cette propriété est mise à jour lorsque la barre de défilement se déplace, même si
Les classes VScrollBar et HScrollBar remplacent ces méthodes pour conserver leur propriétés
Si, par exemple,
Si la valeur de cette propriété est zéro, alors les valeurs possibles sont uniquement limitées entre les valeurs minimum et maximum incluses.
Cette propriété limite également les valeurs possibles pour la propriété
<s:ButtonBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ButtonBase Properties autoRepeat="false" content="null" label="" stickyHighlighting="false" Events buttonDown="No default" Styles alignmentBaseline="USE_DOMINANT_BASELINE" cffHinting="HORIZONTAL_STEM" color="0" cornerRadius="4" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" focusAlpha="0.5" focusColor="0x70B2EE" 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" repeatDelay="500" repeatInterval="35" textAlign="START" textAlignLast="START" textAlpha="1" textDecoration="NONE" textJustify="INTER_WORD" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" wordSpacing="100%" />]]>
Cette méthode est appelée pour traiter les événements
La propriété
Si l’étiquette est plus large que le contrôle ButtonBase, elle est tronquée et se termine par des points de suspension (...). L’étiquette complète s’affiche sous forme d’info-bulle lorsque l’utilisateur vient survoler le contrôle. Si vous avez également défini une info-bulle à l’aide de la propriété
Il s’agit de la propriété ButtonBase par défaut.
Cette propriété est une façade de type
<s:TrackBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TrackBase Styles slideDuration="300" Events change="No default" changing="No default" thumbDrag="No default" thumbPress="No default" thumbRelease="No default" />]]>
Les sous-classes TrickBase doivent remplacer cette méthode et effectuer des conversions qui prennent leur propre géométrie en compte. Par exemple, un curseur vertical peut calculer une valeur comme suit :
return (y / track.height) (maximum - minimum);
Par défaut, cette méthode renvoie seulement
La plupart des sous-classes annulent cette méthode pour mettre à jour la taille, la position et la visibilité du curseur en fonction des propriétés
Par défaut, cette méthode n’a aucune action.
<s:SliderBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SliderBase Properties dataTipFormatFunction="20" dataTipPrecision="2" maximum="10" showDataTip="true" Styles alignmentBaseline="USE_DOMINANT_BASELINE" baselineShift="0.0" cffHinting="HORIZONTAL_STEM" color="0" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" focusAlph="0.55" focusColor="0xFFFFFF" fontFamily="Arial" fontLookup="DEVICE" fontSize="12" fontStyle="NORMAL" fontWeight="NORMAL" justificationRule="AUTO" justificationStyle="AUTO" kerning="AUTO" ligatureLevel="COMMON" lineHeight="120%" lineThrough="false" liveDragging="true" local="en" renderingMode="CFF" textAlignLast="START" textAlpha="1" textDecoration="NONE" textJustify="INTER_WORD" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" />]]>
La fonction présente la signature suivante :
funcName(value:Number):Object
L’exemple ci-dessous ajoute le symbole du dollar avant le texte de l’astuce sur les données et formate le texte en utilisant la propriété
import mx.formatters.NumberBase; function myDataTipFormatter(value:Number):Object { var dataFormatter:NumberBase = new NumberBase(".", ",", ".", ""); return "$ " + dataFormatter.formatPrecision(String(value), slide.dataTipPrecision); }
Si le style
Cette propriété est mise à jour lorsque le curseur se déplace, même si
En règle générale, les classes d’habillage sont écrites en langage MXML, comme l’illustre l’exemple suivant :
<?xml version="1.0"?> <Skin xmlns="http://ns.adobe.com/mxml/2009"> <Metadata> <!-- Specify the component that uses this skin class. --> [HostComponent("my.component.MyComponent")] </Metadata> <states> <!-- Specify the states controlled by this skin. --> </states> <!-- Define skin. --> </Skin>
La présentation tente de dimensionner tous les enfants en fonction de leur taille préférée. Si l’espace est suffisant, les dimensions de chaque enfant correspondent à sa taille préférée, à laquelle vient s’ajouter l’espace disponible restant, réparti uniformément entre les enfants.
Si l’espace est insuffisant et ne permet pas d’afficher tous les enfants à leur taille préférée, les enfants dont la largeur est inférieure à la largeur moyenne sont définis sur leur taille préférée et les autres éléments sont réduits d’autant.
La hauteur de tous les enfants correspond à la hauteur du parent.
L’utilisateur appuie actuellement sur ce composant.
L’utilisateur survole actuellement ce composant.
Aucune interaction ne se produit sur ce composant.
<s:ButtonBarBase>
tag inherits all of the tag
attributes of its superclass and adds no new tag attributes:
<s:ButtonBarBase/>]]>
Le fait de cliquer sur un objet ItemRenderer le sélectionne en définissant les propriétés
Les événements de touche de direction sont traités par le réglage de
La propriété
La propriété
Initialise le traitement par touche de tabulation : l’accès à ce composant par touche de tabulation lui donne le focus ; l’accès par un clic de la souris ne le lui donne pas. L’accès aux enfants par touche de tabulation est désactivé.
Vous pouvez fournir une propriété
La fonction d’icône accepte un seul argument, en l’occurrence l’élément de fournisseur de données, et renvoie une source BitmapImage valide.
myIconFunction(item:Object):Object
<s:ListBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ListBase Properties arrowKeysWrapFocus="false" labelField="label" labelFunction="null" requireSelection="false" selectedIndex="-1" selectedItem="undefined" useVirtualLayout="false" Events caretChange="No default" change="No default" changing="No default" />]]>
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é
Lorsque vous modifiez par programmation la valeur de la propriété
Cet événement est distribué lorsque l’utilisateur interagit avec le contrôle. Lorsque vous modifiez par programmation la valeur de la propriété
Un événement
Les événements
Vous pouvez spécifier une valeur
La fonction label accepte un seul argument, en l’occurrence l’élément du fournisseur de données, et renvoie une chaîne.
myLabelFunction(item:Object):String
La valeur par défaut est
La valeur est toujours comprise entre -1 et (
Si l’élément sélectionné est supprimé, l’index sélectionné est défini sur :
Lorsque l’utilisateur modifie la propriété
Si
Si l’élément sélectionné est supprimé, l’élément sélectionné est défini sur :
Lorsque l’utilisateur modifie la propriété
Lorsque l’état change, si la transition doit être exécutée ; playTransitions.
Valeurs possibles :
<s:DropDownListBase>
tag inherits all of the tag
attributes of its superclass and adds the following attributes:
<s:DropDownListBase Styles cornerRadius="4" dropShadowVisible="true" Events closed="No default" open="No default" />]]>
Le contrôle DropDownListBase se compose d’un bouton d’ancrage et d’une liste déroulante. Utilisez le bouton d’ancrage pour ouvrir et fermer la liste déroulante.
Lorsque la liste déroulante est ouverte :
<s:SkinnableTextBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnableTextBase autoCapitalize="none" [Mobile theme only] autoCorrect="true" [Mobile theme only] displayAsPassword="false" editable="true" imeMode="null" [Spark theme only] maxChars="0" prompt="null" restrict="null" returnLabelKey="default" [Mobile theme only] selectable="true" selectionHighlighting="whenFocused" [Spark theme only] softKeyBoardType="default" [Mobile theme only] text="" typicalText="null" [Spark theme only] Styles borderAlpha="1.0" borderColor="0x696969" borderVisible="true" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" focusAlpha="0.55" focusColor="0x70B2EE" showPromptWhenFocused="true" Events change="No default" changing="No default" [Spark theme only] selectionChange="No default" [Spark theme only] textInput="No default" [Spark theme only] />]]>
Pour le thème Mobile, ceci n’est pas distribué.
Pour le thème Mobile, ceci n’est pas distribué.
Pour le thème Mobile, ceci n’est pas distribué.
Les valeurs prises en charge sont définies dans flash.text.AutoCapitalize :
Pour le thème Spark, ceci n’est pas pris en charge.
Pour le thème Spark, ceci n’est pas pris en charge.
Pour le thème Spark, voir spark.components.RichEditableText.editable
Pour le thème Mobile, voir spark.components.supportClasses.StyleableStageText.editable.
Pour le thème Mobile, ceci n’est pas pris en charge.
Pour le thème Spark, voir spark.components.RichEditableText.imeMode
Pour le thème Mobile, ceci n’est pas pris en charge.
Le texte d’invite s’affiche lors de la création initiale du contrôle de texte. Le texte d’invite disparaît lorsque le contrôle obtient le focus ou lorsque la propriété
Pour les contrôles de texte, si l’utilisateur saisit du texte mais le supprime ultérieurement, le texte d’invite réapparaît lorsque le contrôle perd le focus. Vous pouvez également provoquer la réapparition du texte d’invite par programmation en définissant la propriété text du contrôle de texte sur la chaîne vide.
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 qui utilisent SkinnableTextBase comme sous-classe (ceci inclut les contrôles Spark TextInput et TextArea) :
@namespace s "library://ns.adobe.com/flex/spark"; s|SkinnableTextBase:normalWithPrompt { color: #CCCCFF; }
Les valeurs prises en charge sont définies dans flash.text.ReturnKeyLabel :
Pour le thème Spark, ceci n’est pas pris en charge.
Pour le thème Spark, voir spark.components.RichEditableText.selectable
Pour le thème Mobile, voir spark.components.supportClasses.StyleableStageText.selectable.
Pour le thème Spark, voir spark.components.RichEditableText.selectionActivePosition
Pour le thème Mobile, voir spark.components.supportClasses.StyleableStageText.selectionActivePosition.
Pour le thème Spark, voir spark.components.RichEditableText.selectionAnchorPosition
Pour le thème Mobile, voir spark.components.supportClasses.StyleableStageText.selectionAnchorPosition.
Pour le thème Spark, voir spark.components.RichEditableText.selectionHighlighting
Pour le thème Mobile, ceci n’est pas pris en charge.
Les valeurs prises en charge sont définies dans flash.text.SoftKeyboardType :
Pour le thème Spark, ceci n’est pas pris en charge.
Pour le thème Spark, voir spark.components.RichEditableText.text
Pour le thème Mobile, voir spark.components.supportClasses.StyleableStageText#text.
Pour le thème Spark, voir spark.components.RichEditableText.typicalText
Pour le thème Mobile, ceci n’est pas pris en charge.