Package | mx.containers |
Class | public class TabNavigator |
Inheritance | TabNavigator ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Implements | IFocusManagerComponent |
Language Version: | ActionScript 3.0 |
Product Version: | Flex 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Note: The direct children of an MX navigator container must be MX containers, either MX layout or MX navigator containers, or the Spark NavigatorContent container. You cannot directly nest a control or a Spark container other than the Spark NavigatorContent container within a navigator; they must be children of an child MX container.
Like a ViewStack container, a TabNavigator container has a collection of child containers, in which only one child at a time is visible. Flex automatically creates a TabBar container at the top of the TabNavigator container, with a tab corresponding to each child container. Each tab can have its own label and icon. When the user clicks a tab, the corresponding child container becomes visible as the selected child of the TabNavigator container.
When you change the currently visible child container,
you can use the hideEffect
property of the container being
hidden and the showEffect
property of the newly visible child
container to apply an effect to the child containers.
The TabNavigator container waits for the hideEffect
of the
child container being hidden to complete before it reveals the new child
container.
You can interrupt a currently playing effect if you change the
selectedIndex
property of the TabNavigator container
while an effect is playing.
To define the appearance of tabs in a TabNavigator, you can define style properties in a Tab type selector, as the following example shows:
<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>
The Tab type selector defines values on the hidden mx.controls.tabBarClasses.Tab class. The default values for the Tab type selector are defined in the defaults.css file.
You can also define the styles in a class selector that you specify using
the tabStyleName
style property; for example:
<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>
A TabNavigator container has the following default sizing characteristics:
Characteristic | Description |
---|---|
Default size | The default or explicit width and height of the first active child plus the tabs, at their default or explicit heights and widths. Default tab height is determined by the font, style, and skin applied to the TabNavigator container. |
Container resizing rules | By default, TabNavigator containers are only sized once to fit the size of the first child container. They do not resize when you navigate to other child containers. To force TabNavigator containers to resize when you navigate to a different child container, set the resizeToContent property to true. |
Child layout rules | If the child is larger than the TabNavigator container, it is clipped. If the child is smaller than the TabNavigator container, it is aligned to the upper-left corner of the TabNavigator container. |
Default padding | 0 pixels for the top, bottom, left, and right values. |

The <mx:TabNavigator>
tag inherits all of the
tag attributes of its superclass,
and adds the following tag attributes:
<mx:TabNavigator Styles firstTabStyleName="Value of thetabStyleName
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>
More examples
Using deep linking with navigator containers
Multiple-view containers
Creating deferred components
Related API Elements
Property | Defined By |
---|
Method | Defined By | ||
---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event. | EventDispatcher | |
![]() |
Indicates whether the security restrictions
would cause any display objects to be omitted from the list returned by calling
the DisplayObjectContainer.getObjectsUnderPoint() method
with the specified point point. | DisplayObjectContainer | |
![]() |
Determines whether the specified display object is a child of the DisplayObjectContainer instance or
the instance itself. | DisplayObjectContainer | |
![]() |
Returns a rectangle that defines the area of the display object relative to the coordinate system
of the targetCoordinateSpace object. | DisplayObject | |
![]() |
Returns an array of objects that lie under the specified point and are children
(or grandchildren, and so on) of this DisplayObjectContainer instance. | DisplayObjectContainer | |
![]() |
Returns a rectangle that defines the boundary of the display object,
based on the coordinate system defined by the targetCoordinateSpace
parameter, excluding any strokes on shapes. | DisplayObject | |
![]() |
Converts the point object from the Stage (global) coordinates
to the display object's (local) coordinates. | DisplayObject | |
![]() |
Converts a two-dimensional point from the Stage (global) coordinates to a
three-dimensional display object's (local) coordinates. | DisplayObject | |
![]() |
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event. | EventDispatcher | |
![]() |
Indicates whether an object has a specified property defined. | Object | |
![]() |
Evaluates the bounding box of the display object to see if it overlaps or intersects with the
bounding box of the obj display object. | DisplayObject | |
![]() |
Evaluates the display object to see if it overlaps or intersects with the
point specified by the x and y parameters. | DisplayObject | |
![]() |
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | |
![]() |
Converts a three-dimensional point of the three-dimensional display
object's (local) coordinates to a two-dimensional point in the Stage (global) coordinates. | DisplayObject | |
![]() |
Converts the point object from the display object's (local) coordinates to the
Stage (global) coordinates. | DisplayObject | |
![]() |
Indicates whether the specified property exists and is enumerable. | Object | |
![]() |
Removes all child DisplayObject instances from the child list of the DisplayObjectContainer instance. | DisplayObjectContainer | |
![]() |
Removes a listener from the EventDispatcher object. | EventDispatcher | |
![]() |
Raises a virtual keyboard. | InteractiveObject | |
![]() |
Sets the availability of a dynamic property for loop operations. | Object | |
![]() |
Lets the user drag the specified sprite. | Sprite | |
![]() |
Lets the user drag the specified sprite on a touch-enabled device. | Sprite | |
![]() |
Recursively stops the timeline execution of all MovieClips rooted at this object. | DisplayObjectContainer | |
![]() |
Ends the startDrag() method. | Sprite | |
![]() |
Ends the startTouchDrag() method, for use with touch-enabled devices. | Sprite | |
![]() |
Swaps the z-order (front-to-back order) of the two specified child objects. | DisplayObjectContainer | |
![]() |
Swaps the z-order (front-to-back order) of the child objects at the two specified index positions in the
child list. | DisplayObjectContainer | |
![]() |
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
![]() |
Returns the primitive value of the specified object. | Object | |
![]() |
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type. | EventDispatcher |
Method | Defined By |
---|
Styles are either common or associated with a specific theme. If the style is common, it can be used with any theme. If a style is associated with a specific theme, it can only be used if your application uses that theme.
Style | Description | Defined By | ||
---|---|---|---|---|
![]() | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 If a background image is specified, this style specifies whether it is fixed with regard to the viewport ( "fixed" ) or scrolls along with the content ("scroll" ). | Container | ||
![]() | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The vertical distance in pixels from the top edge of the content area to the control's baseline position. | UIComponent | ||
![]() | Type: Class CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The border skin class of the component. | Container | ||
![]() | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Bounding box style. | Container | ||
![]() | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The vertical distance, in pixels, from the bottom edge of the component to the bottom edge of its parent container's content area. | UIComponent | ||
![]() | Type: uint Format: Color CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Color of text in the component, including the component label. | Container | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 4 Runtime Versions: Flash10, AIR 1.5 The directionality of the text displayed by the component. | Container | ||
![]() | Type: uint Format: Color CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Color of text in the component if it is disabled. | Container | ||
![]() | Type: Number CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The alpha value for the overlay that is placed on top of the container when it is disabled. | Container | ||
![]() | Type: uint Format: Color CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Color of the component highlight when validation fails. | UIComponent | ||
firstTabStyleName | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Name of CSS style declaration that specifies styles for the first tab. If this is unspecified, the default value of the tabStyleName style property is used.
| TabNavigator | ||
focusAlpha | Type: Number CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Specifies the alpha transparency value of the focus skin. The default value for the Halo theme is 0.4 .
The default value for the Spark theme is 0.55 .
| TabNavigator | ||
focusRoundedCorners | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Specifies which corners of the focus rectangle should be rounded. This value is a space-separated String that can contain any combination of "tl" , "tr" , "bl"
and "br" .
For example, to specify that the right side corners should be rounded,
but the left side corners should be square, use "tr br" .
The cornerRadius style property specifies
the radius of the rounded corners.
The default value depends on the component class; if not overridden for
the class, default value is "tl tr bl br" .
| TabNavigator | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Sets the antiAliasType property of internal TextFields. | Container | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Name of the font to use. | Container | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Sets the gridFitType property of internal TextFields that represent text in Flex controls. | Container | ||
![]() | Type: Number CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Sets the sharpness property of internal TextFields that represent text in Flex controls. | Container | ||
![]() | Type: Number Format: Length CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Height of the text, in pixels. | Container | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Determines whether the text is italic font. | Container | ||
![]() | Type: Number CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Sets the thickness property of internal TextFields that represent text in Flex controls. | Container | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Determines whether the text is boldface. | Container | ||
horizontalAlign | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Horizontal positioning of tabs at the top of this TabNavigator container. The possible values are "left" , "center" ,
and "right" .
The default value is "left" .
If the value is To see a difference between the alignments, the total width of all the tabs must be less than the width of the TabNavigator container. | TabNavigator | ||
![]() | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The horizontal distance in pixels from the center of the component's content area to the center of the component. | UIComponent | ||
horizontalGap | Type: Number Format: Length CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Separation between tabs, in pixels. The default value is -1, so that the borders of adjacent tabs overlap. | TabNavigator | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 4.5 Runtime Versions: Flash10, AIR 2.5 The primary interaction mode for this component. | UIComponent | ||
![]() | Type: Boolean CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 A Boolean value that indicates whether kerning is enabled ( true ) or disabled (false ). | Container | ||
lastTabStyleName | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Name of CSS style declaration that specifies styles for the last tab. If this is unspecified, the default value of the tabStyleName style property is used.
| TabNavigator | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 4.1 Runtime Versions: Flash10, AIR 1.5 Specifies the desired layout direction of a component. | UIComponent | ||
![]() | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The horizontal distance, in pixels, from the left edge of the component to the left edge of its parent container's content area. | UIComponent | ||
![]() | Type: Number CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The number of additional pixels to appear between each character. | Container | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 4 Runtime Versions: Flash10, AIR 1.5 The locale of the text displayed by this component. | Container | ||
![]() | Type: Number Format: Length CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Number of pixels between the container's bottom border and its content area. | ViewStack | ||
![]() | Type: Number Format: Length CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Number of pixels between the component's left border and the left edge of its content area. | Container | ||
![]() | Type: Number Format: Length CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Number of pixels between the component's right border and the right edge of its content area. | Container | ||
![]() | Type: Number Format: Length CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Number of pixels between the container's top border and its content area. | ViewStack | ||
![]() | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The horizontal distance, in pixels, from the right edge of the component to the right edge of its parent container's content area. | UIComponent | ||
selectedTabTextStyleName | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Name of CSS style declaration that specifies styles for the text of the selected tab. | TabNavigator | ||
![]() | Type: Boolean CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 4.5 Runtime Versions: Flash10, AIR 1.5 Show the error border or skin when this component is invalid | UIComponent | ||
![]() | Type: Boolean CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 4.5 Runtime Versions: Flash10, AIR 1.5 Show the error tip when this component is invalid and the user rolls over it | UIComponent | ||
tabHeight | Type: Number Format: Length CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Height of each tab, in pixels. The default value is undefined .
When this property is undefined , the height of each tab is
determined by the font styles applied to this TabNavigator container.
If you set this property, the specified value overrides this calculation.
| TabNavigator | ||
tabOffset | Type: Number Format: Length CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The horizontal offset, in pixels, of the tab bar from the left edge of the TabNavigator container. A positive value moves the tab bar to the right. A negative value move the tab bar to the left. The default value is 0 . | TabNavigator | ||
tabStyleName | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Name of CSS style declaration that specifies styles for the tabs. The default value is undefined . | TabNavigator | ||
tabWidth | Type: Number Format: Length CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Width of each tab, in pixels. The default value is undefined .
When this property is undefined , the width of each tab is
determined by the width of its label text, using the font styles applied
to this TabNavigator container.
If the total width of the tabs would be greater than the width of the
TabNavigator container, the calculated tab width is decreased, but
only to a minimum of 30 pixels.
If you set this property, the specified value overrides this calculation.
The label text on a tab is truncated if it does not fit in the tab. If a tab label is truncated, a tooltip with the full label text is displayed when a user rolls the mouse over the tab. | TabNavigator | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Alignment of text within a container. | Container | ||
![]() | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Determines whether the text is underlined. | Container | ||
![]() | Type: Class CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 4 Runtime Versions: Flash10, AIR 1.5 The class implementing IUITextField that is used by this component to render text. | Container | ||
![]() | Type: Number Format: Length CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Offset of first line of text from the left side of the container, in pixels. | Container | ||
![]() | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The vertical distance, in pixels, from the top edge of the component to the top edge of its parent container's content area. | UIComponent | ||
![]() | Type: String CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 The vertical distance in pixels from the center of the component's content area to the center of the component. | UIComponent | ||
![]() | Type: Number Format: Length CSS Inheritance: No Language Version: ActionScript 3.0 Product Version: Flex 3 Runtime Versions: Flash9, AIR 1.1 Number of pixels between children in the vertical direction. | ViewStack |
<?xml version="1.0"?> <!-- Simple example to demonstrate the Halo TabNavigator layout container. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <s:Panel title="TabNavigator Container Example" width="75%" height="75%" horizontalCenter="0" verticalCenter="0"> <s:VGroup left="10" right="10" top="10" bottom="10"> <s:Label width="100%" color="blue" text="Select the tabs to change the panel."/> <mx:TabNavigator id="tn" width="100%" height="100%"> <!-- Define each panel using a VBox container. --> <mx:VBox label="Panel 1"> <mx:Label text="TabNavigator container panel 1"/> </mx:VBox> <mx:VBox label="Panel 2"> <mx:Label text="TabNavigator container panel 2"/> </mx:VBox> <mx:VBox label="Panel 3"> <mx:Label text="TabNavigator container panel 3"/> </mx:VBox> </mx:TabNavigator> <s:Label width="100%" color="blue" text="Programmatically select the panel using a Button control."/> <s:HGroup> <mx:Button label="Select Tab 1" click="tn.selectedIndex=0"/> <mx:Button label="Select Tab 2" click="tn.selectedIndex=1"/> <mx:Button label="Select Tab 3" click="tn.selectedIndex=2"/> </s:HGroup> </s:VGroup> </s:Panel> </s:Application>
Wed Nov 21 2018, 06:34 AM -08:00