<mx:Canvas>
tag inherits all the tag attributes
of its superclass. Use the following syntax:
<mx:Canvas> ... child tags ... </mx:Canvas>]]>
Remarque : lorsque cela est possible, Adobe vous recommande d’utiliser les conteneurs Spark avec la classe BasicLayout plutôt que le conteneur Halo Canvas.
Flex utilise la largeur et la hauteur recommandées d’un enfant d’un conteneur de mise en forme Canvas pour définir la taille de cet enfant. Vous pouvez remplacer la valeur de largeur recommandée d’un enfant en définissant sa propriété
Si vous définissez une taille en pourcentage dans un conteneur Canvas, il se peut que certains composants se chevauchent. Si vous ne le souhaitez pas, réfléchissez bien aux positions et aux tailles de vos composants.
Le conteneur Canvas présente les caractéristiques de taille par défaut suivantes :
La valeur
Les propriétés
Les propriétés
Toutes les valeurs décrites précédemment correspondent aux largeurs et hauteurs mesurées du conteneur Canvas. L’utilisateur peut remplacer les valeurs mesurées en spécifiant explicitement une valeur pour les propriétés suivantes :
Vous ne devez pas appeler cette méthode directement. La classe LayoutManager de Flex l’appelle lorsque cela est nécessaire. Au démarrage de l’application, la classe LayoutManager de Flex essaie de mesurer tous les composants, enfant comme parent, avant de définir leur taille finale.
Il s’agit d’une méthode avancée à utiliser avec des sous-classes. Si vous remplacez cette méthode, l’implémentation doit appeler la méthode
Le conteneur Canvas ne modifie pas les positions de ses enfants. Chaque enfant est placé en fonction des valeurs de ses propriétés
En revanche, le conteneur Canvas définit la largeur et la hauteur de chaque enfant, de sorte qu’elles correspondent aux valeurs
Vous ne devez pas appeler cette méthode directement. La classe LayoutManager de Flex l’appelle lorsque cela est nécessaire. Au démarrage de l’application, la classe LayoutManager de Flex appelle la méthode
Il s’agit d’une méthode avancée à utiliser avec des sous-classes. Si vous remplacez cette méthode, l’implémentation doit appeler la méthode
<mx:DividedBox>
tag inherits all of the tag
attributes of its superclass, and adds the following tag attributes:
<mx:DividedBox Properties liveDragging="false|true" resizeToContent="false|true" Styles dividerAffordance="6" dividerAlpha="0.75" dividerColor="0x6F7777" dividerSkin="'mx.skins.BoxDividerSkin' symbol in Assets.swf" dividerThickness="3" horizontalDividerCursor="'mx.skins.cursor.HBoxDivider' symbol in Assets.swf" verticalDividerCursor="'mx.skins.cursor.VBoxDivider' symbol in Assets.swf" Events dividerPress="No default" dividerDrag="No default" dividerRelease="No default" > ... child tags ... </mx:DividedBox>]]>
La classe DividedBox est la classe de base des classes HDividedBox et VDividedBox, qui sont utilisées plus fréquemment.
La propriété
Les conteneurs DividedBox, HDividedBox et VDividedBox présentent les caractéristiques de taille par défaut suivantes :
<mx:ApplicationControlBar>
tag
inherits all of the tag attributes of its superclass, and adds the
following tag attributes.
Unlike the ControlBar container, it is possible to set the
backgroundColor
style for an ApplicationControlBar
container.
<mx:ApplicationControlBar Properties dock="false|true" Styles fillAlphas="[0, 0]" fillColors="[0xFFFFFF, 0xFFFFFF]" > ... child tags ... </mx:ApplicationControlBar>]]>
Remarque : le conteneur Spark Application ne prend pas en charge le conteneur ApplicationControlBar. Modifiez l’habillage du conteneur Spark Application pour ajouter cette fonctionnalité.
Le conteneur ApplicationControlBar offre différents modes de fonctionnement :
Le conteneur ApplicationControlBar présente les caractéristiques de taille par défaut suivantes :
<mx:HDividedBox>
tag inherits all of the tag
attributes of its superclass except direction
and adds
no new tag attributes.
]]>Le conteneur HDividedBox présente les caractéristiques de taille par défaut suivantes :
<mx:Grid>
tag inherits all of the tag
attributes of its superclass, except the Box.direction
property, and adds the following tag attributes:
<mx:Grid Styles horizontalGap="8" verticalGap="6" > ... These child tags are examples only: <mx:GridRow id="row1"> <mx:GridItem rowSpan="1" colSpan="1"> <mx:Button label="Button 1"/> </mx:GridItem> ... </mx:GridRow> ... </mx:Grid>]]>
La hauteur de toutes les cellules d’une même ligne est la même, mais la hauteur peut varier d’une ligne à une autre. La largeur de toutes les cellules d’une même colonne est la même, mais la largeur peut varier d’une colonne à une autre. Vous pouvez définir un nombre différent de cellules pour chacune des lignes ou colonnes du conteneur Grid. Par ailleurs, une cellule peut s’étendre sur plusieurs colonnes ou plusieurs lignes du conteneur.
Les conteneurs Grid, GridRow et GridItem présentent les caractéristiques de taille par défaut suivantes :
N’appelez pas cette méthode directement : il s’agit d’une méthode avancée à utiliser avec une sous-classe. La classe LayoutManager de Flex appelle la méthode
Pour comprendre comment le conteneur Grid calcule ses mesures, supposons que les propriétés
Les valeurs des propriétés
Si la valeur de la propriété
Cependant, la valeur
Toutes les valeurs décrites précédemment correspondent aux largeurs et hauteurs mesurées du conteneur Grid. L’utilisateur peut remplacer les valeurs mesurées en spécifiant explicitement une valeur pour les propriétés suivantes :
Si vous remplacez cette méthode, l’implémentation doit appeler la méthode
Ces propriétés correspondent aux propriétés de mise en forme mentionnées précédemment. Elles ne font donc pas l’objet d’une documentation séparée.
N’appelez pas cette méthode directement : il s’agit d’une méthode avancée à utiliser avec une sous-classe. La classe LayoutManager de Flex appelle la méthode
Le conteneur Grid suit les mêmes règles de mise en forme que le conteneur VBox. La position et la taille des conteneurs GridRow sont calculées de la même manière que lorsqu’un conteneur VBox détermine la position et la taille de ses enfants. De même, un conteneur GridRow place ses conteneurs GridItem en utilisant un algorithme de mise en forme similaire à celui d’un conteneur HBox.
La seule différence réside dans le fait que tous les conteneurs GridRow fonctionnent de façon coordonnée : ils choisissent tous la même position et la même taille pour leurs enfants, de sorte que les colonnes du conteneur Grid soient alignées.
Si vous remplacez cette méthode, l’implémentation doit appeler la méthode
<mx:TabNavigator>
tag inherits all of the
tag attributes of its superclass,
and adds the following tag attributes:
<mx:TabNavigator Styles fillAlphas="[0.60, 0.40, 0.75, 0.65]" fillColors="[0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE]" firstTabStyleName="Value of the]]>tabStyleName
property" focusAlpha="0.4" focusRoundedCorners="tl tr bl br" horizontalAlign="left|center|right" horizontalGap="-1" lastTabStyleName="Value of thetabStyleName
property" selectedTabTextStyleName="undefined" tabHeight="undefined" tabOffset="0" tabStyleName="Name of CSS style declaration that specifies styles for the tabs" tabWidth="undefined" > ... child tags ... </mx:TabNavigator>
Remarque : les enfants directs d’un conteneur de navigateur MX doivent être des conteneurs MX (de présentation MX ou navigateur MX) ou le conteneur Spark NavigatorContent. Vous ne pouvez pas imbriquer directement un contrôle ou un conteneur Spark autre que le conteneur NavigatorContent dans un navigateur. Ils doivent être les enfants d’un conteneur MX enfant.
Comme les conteneurs ViewStack, un conteneur TabNavigator contient une collection de conteneurs enfant, dans laquelle un seul enfant est visible à la fois. Flex crée automatiquement un conteneur TabBar en haut du conteneur TabNavigator, chaque onglet correspondant à un conteneur enfant. Chaque onglet peut contenir ses propres libellé et icône. Lorsque l’utilisateur clique sur un onglet, le conteneur enfant correspondant devient visible en tant qu’enfant sélectionné du conteneur TabNavigator.
Lorsque le conteneur enfant actuellement visible change, vous pouvez utiliser la propriété
Pour définir l’apparence des onglets dans un conteneur TabNavigator, vous pouvez définir les propriétés de style dans un sélecteur de type Tab, comme l’illustre l’exemple suivant :
<fx:Style> @namespace mx "library://ns.adobe.com/flex/mx" mx|Tab { fillColors: #006699, #cccc66; upSkin: ClassReference("CustomSkinClass"); overSkin: ClassReference("CustomSkinClass"); downSkin: ClassReference("CustomSkinClass"); } </fx:Style>
Le sélecteur de type Tab définit les valeurs de la classe masquée mx.controls.tabBarClasses.Tab. Les valeurs par défaut du sélecteur de type Tab sont définies dans le fichier defaults.css.
Vous pouvez également définir les styles dans un sélecteur de classe que vous spécifiez par le biais de la propriété de style
<fx:Style> @namespace mx "library://ns.adobe.com/flex/mx" mx|TabNavigator { tabStyleName:myTabStyle; } .myTabStyle { fillColors: #006699, #cccc66; upSkin: ClassReference("CustomSkinClass"); overSkin: ClassReference("CustomSkinClass"); downSkin: ClassReference("CustomSkinClass"); } </fx:Style>
Le conteneur TabNavigator présente les caractéristiques de taille par défaut suivantes :
Le conteneur TabNavigator utilise la même logique de mesure que le conteneur
Un conteneur TabNavigator place son conteneur TabBar en haut. La largeur du conteneur TabBar correspond à celle du conteneur TabNavigator et la hauteur du conteneur TabBar est basée sur la propriété
Un conteneur TabNavigator définit la taille de ses conteneurs enfant et les place sous le conteneur TabBar en utilisant la même logique que dans un conteneur ViewStack.
<mx:HBox>
tag inherits all of the tag
attributes of its superclass, except direction
, and adds
no new tag attributes.
]]>Remarque : lorsque cela est possible, Adobe vous recommande d’utiliser les conteneurs Spark avec la classe HorizontalLayout plutôt que le conteneur Halo HBox.
Le conteneur HBox présente les caractéristiques de taille par défaut suivantes :
<mx:VBox>
tag inherits all of the tag
attributes of its superclass, except direction
, and adds
no new tag attributes.
]]>Remarque : lorsque cela est possible, Adobe vous recommande d’utiliser les conteneurs Spark avec la classe VerticalLayout plutôt que le conteneur Halo VBox.
Le conteneur VBox présente les caractéristiques de taille par défaut suivantes :
<mx:TitleWindow>
tag inherits all of the tag
attributes of its superclass, and adds the following tag attributes:
<mx:TitleWindow Properties showCloseButton="false|true" Styles closeButtonDisabledSkin="'CloseButtonDisabled' symbol in Assets.swf" closeButtonDownSkin="'CloseButtonDown' symbol in Assets.swf" closeButtonOverSkin="'CloseButtonOver' symbol in Assets.swf" closeButtonUpSkin="'CloseButtonUp' symbol in Assets.swf" Events close="No default" > ... child tags ... />]]>
Le conteneur TitleWindow présente les caractéristiques de taille par défaut suivantes :
<mx:FormHeading>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<mx:FormHeading Properties label="" Styles color="0x0B333C" disabledColor="0xAAB3B3" fontAntiAliasType="advanced|normal" fontFamily="Verdana" fontGridFitType="pixel|subpixel|none" fontSharpness="0" fontSize="12" fontStyle="normal|italic" fontThickness="0" fontWeight="normal|bold" indicatorGap="14" labelWidth="Calculated" leading="2" paddingLeft="0" paddingRight="0" paddingTop="0" textAlign="Calculated" textDecoration="none|underline" textIndent="0" />]]>
<mx:Accordion>
tag inherits all of the
tag attributes of its superclass, with the exception of scrolling-related
attributes, and adds the following tag attributes:
<mx:Accordion Properties headerRenderer="IFactory" historyManagementEnabled="true|false" resizeToContent="false|true" selectedChild"A reference to the first child" selectedIndex="undefined" Styles headerHeight="depends on header font styles" headerStyleName="No default" horizontalGap="8" openDuration="250" openEasingFunction="undefined" paddingBottom="-1" paddingTop="-1" textRollOverColor="0xB333C" textSelectedColor="0xB333C" verticalGap="-1" Events change="No default" > ... child tags ... </mx:Accordion>]]>
Remarque : les enfants directs d’un conteneur de navigateur MX doivent être des conteneurs MX (de présentation MX ou navigateur MX) ou le conteneur Spark NavigatorContent. Vous ne pouvez pas imbriquer directement un contrôle ou un conteneur Spark autre que le conteneur NavigatorContent dans un navigateur. Ils doivent être les enfants d’un conteneur MX enfant.
Le conteneur Accordion n’étend pas le conteneur ViewStack, mais il implémente l’ensemble des propriétés, méthodes, styles et événements du conteneur ViewStack, par exemple
Un conteneur Accordion présente les caractéristiques de taille par défaut suivantes :
Remarque : vous pouvez définir cette propriété uniquement dans une instruction ActionScript, pas dans du code MXML.
<mx:ControlBar>
tag inherits all the tag
attributes but adds no additional attributes:
<mx:ControlBar> ... child tags ... </mx:ControlBar>]]>
Remarque : le conteneur Spark Panel ne prend pas en charge le conteneur ControlBar. Modifiez l’habillage du conteneur Spark Panel pour ajouter cette fonctionnalité.
Le conteneur ControlBar est un conteneur Box doté de propriétés d’arrière-plan et de style par défaut.
Le conteneur ControlBar présente les caractéristiques de taille par défaut suivantes :
<mx:GridItem>
tag must be a child of the
<GridRow>
tag, which defines a grid row.
The <mx:GridItem>
container inherits the
tag attributes of its superclass, and adds the following tag attributes.
<mx:Grid> <mx:GridRow> <mx:GridItem rowSpan="1" colSpan="1"> child components </mx:GridItem> ... </mx:GridRow> ... </mx:Grid>]]>
Les conteneurs GridItem présentent les caractéristiques de taille par défaut suivantes :
<mx:Panel>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<mx:Panel Properties layout="vertical|horizontal|absolute" status="" title="" titleIcon="null" Styles borderAlpha="0.4" borderThicknessBottom="NaN" borderThicknessLeft="10" borderThicknessRight="10" borderThicknessTop="2" controlBarStyleName="null" cornerRadius="4" dropShadowEnabled="true|false" footerColors="null" headerColors="null" headerHeight="Based on style of title" highlightAlphas="[0.3,0]" horizontalAlign="left|center|right" horizontalGap="8" modalTransparency="0.5" modalTransparencyBlur="3" modalTransparencyColor="#DDDDDD" modalTransparencyDuration="100" paddingBottom="0" paddingTop="0" roundedBottomCorners="false|true" shadowDirection="center|left|right" shadowDistance="2" statusStyleName="windowStatus" titleBackgroundSkin="TitleBackground" titleStyleName="windowStyles" verticalAlign="top|middle|bottom" verticalGap="6" Effects resizeEndEffect="Dissolve" resizeStartEffect="Dissolve" > ... child tags ... </mx:Panel>]]>
Remarque : lorsque cela est possible, Adobe vous recommande d’utiliser le conteneur Spark Panel plutôt que le conteneur Halo Panel.
Le conteneur Panel présente les caractéristiques de taille par défaut suivantes :
La méthode
<mx:Tile>
tag inherits all of the tag attributes
of its superclass, and adds the following tag attributes:
<mx:Tile Properties direction="horizontal|vertical" tileHeight="NaN" tileWidth="NaN" Sttles horizontalAlign="left|center|right" horizontalGap="8" paddingBottom="0" paddingTop="0" verticalAlign="top|middle|bottom" verticalGap="6" > ... child tags ... </mx:Tile>]]>
Remarque : lorsque cela est possible, Adobe vous recommande d’utiliser les conteneurs Spark avec la classe TileLayout plutôt que le conteneur Halo Tile.
Un conteneur Tile présente les caractéristiques de taille par défaut suivantes :
Cette méthode commence par calculer la taille de chaque cellule Tile. Pour comprendre comment la taille des cellules est déterminée, voir les propriétés
La taille mesurée d’un conteneur Tile contenant des enfants est suffisante pour afficher les cellules dans une grille N par N contenant autant de lignes que de colonnes, ainsi que les marges et les bordures du conteneur Tile. Il existe cependant des cas particuliers, comme dans les exemples suivants :
En l’absence d’enfant, la taille mesurée correspond à la taille la plus petite permettant de contenir les marges et les bordures.
La taille minimale mesurée d’un conteneur Tile contenant des enfants correspond à la taille la plus petite permettant de contenir une cellule Tile, les marges et les bordures. En l’absence d’enfant, la taille mesurée minimale correspond à la taille la plus petite permettant de contenir les marges et les bordures.
Cette méthode place les enfants dans une grille de type damier contenant des cellules de même taille, au sein de la zone de contenu du conteneur Tile (zone située entre les marges). Pour comprendre comment la taille des cellules est déterminée, voir les propriétés
La séparation entre les cellules est déterminée par les styles
L’enchaînement des enfants est déterminé par la propriété
Si une valeur
Le premier enfant est toujours placé dans le coin supérieur gauche du conteneur Tile. Si la valeur de la propriété
<mx:VDividedBox>
tag inherits all of the tag
attributes of its superclass, except direction
, and adds
no new tag attributes.
]]>Un conteneur VDividedBox présente les caractéristiques de taille par défaut suivantes :
<mx:Form>
tag inherits all the tag
attributes of its superclass and adds the following tag attributes:
<mx:Form Styles horizontalGap="8" indicatorGap="14" labelWidth="Calculated" paddingBottom="16" paddingTop="16" verticalGap="6" > ... child tags ... </mx:Form>]]>
Le tableau ci-dessous décrit les composants à utiliser pour créer des formulaires dans Flex :
La méthode
La valeur de la propriété
La valeur de la propriété
La valeur de la propriété
La méthode
Si la largeur d’un enfant est définie en pourcentage, il est élargi horizontalement de sorte qu’il corresponde au pourcentage spécifié pour le conteneur Form. Dans le cas contraire, sa largeur correspond à la valeur de la propriété
Cette méthode appelle la méthode
<mx:ViewStack>
tag inherits the
tag attributes of its superclass, with the exception of scrolling-related
attributes, and adds the following tag attributes:
<mx:ViewStack Properties historyManagementEnabled="false|true" resizeToContent="false|true" selectedIndex="0" Styles horizontalGap="8" paddingBottom="0" paddingTop="0" verticalGap="6" Events change="No default" > ... child tags ... </mx:ViewStack>]]>
Remarque : les enfants directs d’un conteneur de navigateur MX doivent être des conteneurs MX (de présentation MX ou navigateur MX) ou le conteneur Spark NavigatorContent. Vous ne pouvez pas imbriquer directement un contrôle ou un conteneur Spark autre que le conteneur NavigatorContent dans un navigateur. Ils doivent être les enfants d’un conteneur MX enfant.
Un conteneur ViewStack ne fournit pas d’interface utilisateur permettant de sélectionner le conteneur enfant actuellement visible. En général, vous définissez la propriété
Vous pouvez décider d’utiliser un conteneur de navigateur plus complexe que le conteneur ViewStack, par exemple un conteneur TabNavigator ou Accordion. Outre le fait qu’ils contiennent une collection de conteneurs enfant, ces conteneurs fournissent leurs propres contrôles d’interface utilisateur permettant d’accéder à leurs différents enfants.
Lorsque le conteneur enfant actuellement visible change, vous pouvez utiliser la propriété
Le conteneur ViewStack présente les caractéristiques de taille par défaut suivantes :
La taille par défaut d’un conteneur ViewStack correspond à la taille par défaut de son enfant actuellement sélectionné, à laquelle viennent s’ajouter les marges et les bordures. Si le conteneur ViewStack ne contient pas d’enfant, sa taille par défaut correspond à la taille la plus petite permettant de contenir les marges et les bordures.
La taille minimale d’un conteneur ViewStack correspond à la taille minimale de son enfant actuellement sélectionné, à laquelle viennent s’ajouter les marges et les bordures. Si le conteneur ViewStack ne contient pas d’enfant, sa taille minimale correspond à la taille la plus petite permettant de contenir les marges et les bordures.
Cette méthode ne modifie pas la taille maximale d’un conteneur ViewStack : celle-ci reste illimitée.
Un seul des enfants est visible à la fois. Par conséquent, un conteneur ViewStack définit uniquement la taille et la position de cet enfant.
L’enfant sélectionné est placé dans l’angle supérieur gauche du conteneur ViewStack, de façon à ce que les marges et les bordures du conteneur puissent être affichées.
Si une valeur
Remarque : vous pouvez définir cette propriété uniquement dans une instruction ActionScript, pas dans du code MXML.
Remarque : lorsque vous ajoutez un nouvel enfant à un conteneur ViewStack, la propriété
<mx:GridRow>
must be a child of the
<mx:Grid>
tag, and has one or more child
<mx:GridItem>
tags that define the grid cells.
The <mx:GridRow>
container inherits the
tag attributes of its superclass, and adds the following tag attributes:
<mx:Grid> <mx:GridRow Styles horizontalAlign="left|center|right" verticalAlign="top|middle|bottom" > <mx:GridItem child components </mx:GridItem> ... </mx:GridRow> ... </mx:Grid>]]>
Les conteneurs GridRow présentent les caractéristiques de taille par défaut suivantes :
Vous ne devez pas appeler cette méthode directement. La classe LayoutManager de Flex l’appelle lorsque cela est nécessaire. Au démarrage de l’application, la classe LayoutManager de Flex appelle la méthode
Il s’agit d’une méthode avancée à utiliser avec des sous-classes. Si vous remplacez cette méthode, l’implémentation doit appeler la méthode
<mx:FormItem>
tag inherits all of the tag
attributes of its superclass, except paddingLeft
,
and adds the following tag attributes:
<mx:FormItem Properties direction="vertical|horizontal" label="" required="false|true" Styles horizontalAlign="left|center|right" horizontalGap="8" indicatorGap="14" indicatorSkin="'mx.containers.FormItem.Required' symbol in Assets.swf" labelStyleName="" labelWidth="Calculated" paddingBottom="0" paddingRight="0" paddingTop="0" verticalGap="6" > ... child tags ... </mx:FormItem>]]>
La méthode
Un conteneur FormItem contient deux zones : la zone de libellé et la zone des contrôles. La taille du libellé est toujours la même, quelle que soit la direction des contrôles. La taille de la zone des contrôles dépend du nombre de lignes et de colonnes utilisées.
La largeur du libellé dépend de la propriété de style
Si tous les éléments se trouvent sur une même ligne, la largeur de la zone des contrôles correspond à la somme des largeurs de tous les enfants et des espaces
Si tous les éléments se trouvent sur une même colonne, la largeur de la zone des contrôles correspond à la largeur de l’enfant le plus large.
Si les enfants sont placés dans plusieurs lignes et plusieurs colonnes, la largeur de colonne correspond à la largeur de l’élément le plus large et la largeur de la zone des contrôles correspond au produit de la largeur de colonne et du nombre de colonnes, auquel s’ajoute l’espace
La propriété
La valeur de la propriété
La propriété
La valeur de la propriété
Pour plus d’informations sur la manière dont sont placés les contrôles FormItem, voir la méthode
Le libellé est aligné dans la zone de libellé en fonction de la propriété de style
Si la valeur de la propriété
Les contrôles sont placés dans des colonnes, comme expliqué dans la documentation de la méthode
Lorsque la valeur de la propriété
Cette méthode appelle la méthode
Si la valeur de la propriété
Si vous souhaitez contrôler de manière plus précise la mise en forme des enfants FormItem, vous pouvez utiliser un conteneur tel que Grid ou Tile comme enfant direct du conteneur FormItem, afin d’y placer les contrôles souhaités.
Cette propriété contrôle uniquement l’affichage de l’indicateur. Vous devez joindre un validateur aux enfants si vous souhaitez que la saisie soit validée.
<mx:Box>
tag inherits all of the tag
attributes of its superclass, and adds the following tag attributes:
<mx:Box Properties direction="vertical|horizontal" Styles horizontalAlign="left|center|right" horizontalGap="8" paddingBottom="0" paddingTop="0" verticalAlign="top|middle|bottom" verticalGap="6" > ... child tags ... </mx:Box>]]>
Remarque : lorsque cela est possible, Adobe vous recommande d’utiliser les conteneurs Spark avec la classe HorizontalLayout ou VerticalLayout plutôt que le conteneur Halo Box.
La classe Box est la classe de base des classes VBox et HBox. Utilisez les balises
Un conteneur Box présente les caractéristiques de taille par défaut suivantes :
Si la propriété
Les propriétés
Les propriétés
Toutes les valeurs décrites précédemment correspondent aux largeurs et hauteurs mesurées du conteneur Box. L’utilisateur peut remplacer les valeurs mesurées en spécifiant explicitement une valeur pour les propriétés suivantes :
Vous ne devez pas appeler la méthode
Il s’agit d’une méthode avancée à utiliser avec des sous-classes. Si vous remplacez cette méthode, l’implémentation doit appeler la méthode
Ces propriétés correspondent aux propriétés de mise en forme mentionnées précédemment. Elles ne font donc pas l’objet d’une documentation séparée.
La valeur de pourcentage est exacte uniquement tant que la taille ou la mise en forme du conteneur ne change pas. Dès que le conteneur est redimensionné ou que sa mise en forme change, la valeur retournée par cette méthode risque d’être obsolète.
Cette méthode peut par exemple être utilisée pour restaurer la taille d’un composant sur un nombre précis de pixels après l’avoir masqué.
Pour comprendre l’algorithme de mise en forme du conteneur Box, supposons que la direction du conteneur Box soit horizontale.
Tous les enfants du conteneur Box sont placés côte à côte sur une même ligne horizontale, séparés par un espace défini par le nombre de pixels de la propriété
Si la somme des valeurs des propriétés
Une fois que tous les enfants dont la taille est flexible ont été agrandis ou réduits, Flex vérifie que la somme des largeurs des enfants correspond à la largeur du conteneur Box. Si cela n’est pas le cas, les enfants sont tous décalés en fonction de la valeur de la propriété
Pour déterminer la hauteur de chaque enfant, Flex examine la valeur de la propriété
La position verticale de chaque enfant est déterminée par la propriété
Si la valeur de la propriété
Vous ne devez pas appeler cette méthode directement. La classe LayoutManager de Flex l’appelle lorsque cela est nécessaire. Au démarrage de l’application, la classe LayoutManager de Flex appelle la méthode
Il s’agit d’une méthode avancée à utiliser avec des sous-classes. Si vous remplacez cette méthode, l’implémentation doit appeler la méthode