Packagefeathers.controls
Classpublic class TabNavigator
InheritanceTabNavigator Inheritance BaseScreenNavigator Inheritance FeathersControl Inheritance starling.display.Sprite

Product Version : Feathers 3.1.0

A tabbed container.

The following example creates a tab navigator, adds a couple of tabs and displays the navigator:

var navigator:TabNavigator = new TabNavigator();
navigator.addScreen( "newsFeed", new TabNavigatorItem( NewsFeedTab, "News" ) );
navigator.addScreen( "profile", new TabNavigatorItem( ProfileTab, "Profile" ) );
this.addChild( navigator );

See also

How to use the Feathers TabNavigator component
feathers.controls.TabNavigatorItem


Public Properties
 PropertyDefined By
 InheritedactiveScreen : DisplayObject
[read-only] A reference to the currently active screen.
BaseScreenNavigator
 InheritedactiveScreenID : String
[read-only] The string identifier for the currently active screen.
BaseScreenNavigator
 InheritedaddedEffect : Function
An optional effect that is activated when the component is added to the stage.
FeathersControl
 InheritedautoSizeMode : String
Determines how the screen navigator will set its own size when its dimensions (width and height) aren't set explicitly.
BaseScreenNavigator
 InheritedclipContent : Boolean
Determines if the navigator's content should be clipped to the width and height.
BaseScreenNavigator
 InheriteddefaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
 InheriteddefaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheriteddepth : int
[read-only] The component's depth in the display list, relative to the stage.
FeathersControl
 InheritedeffectsSuspended : Boolean
[read-only] Indicates if effects have been suspended.
FeathersControl
 InheritedexplicitHeight : Number
[read-only] The height value explicitly set by passing a value to the height setter or by calling the setSize() function.
FeathersControl
 InheritedexplicitMaxHeight : Number
[read-only] The maximum height value explicitly set by passing a value to the maxHeight setter.
FeathersControl
 InheritedexplicitMaxWidth : Number
[read-only] The maximum width value explicitly set by passing a value to the maxWidth setter.
FeathersControl
 InheritedexplicitMinHeight : Number
[read-only] The minimum height value explicitly set by passing a value to the minHeight setter.
FeathersControl
 InheritedexplicitMinWidth : Number
[read-only] The minimum width value explicitly set by passing a value to the minWidth setter.
FeathersControl
 InheritedexplicitWidth : Number
[read-only] The width value explicitly set by passing a value to the width setter or to the setSize() method.
FeathersControl
 InheritedfocusInEffect : Function
An optional effect that is activated when the component receives focus.
FeathersControl
 InheritedfocusManager : IFocusManager
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The current focus manager for this component.
FeathersControl
 InheritedfocusOutEffect : Function
An optional effect that is activated when the component loses focus.
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Used for associating focusable display objects that are not direct children with an "owner" focusable display object, such as pop-ups.
FeathersControl
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all TabNavigator components.
TabNavigator
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
 InheritedhideEffect : Function
An optional effect that is activated when the component is hidden.
FeathersControl
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
 InheritedisCreated : Boolean
[read-only] Determines if the component has been initialized and validated for the first time.
FeathersControl
 InheritedisEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFocusEnabled : Boolean
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Determines if this component can receive focus.
FeathersControl
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 InheritedisShowingFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Indicates if the showFocus() method has been called on the object when it has focus.
FeathersControl
  isSwipeEnabled : Boolean
Determines if the swipe gesture to switch between tabs is enabled.
TabNavigator
 InheritedisTransitionActive : Boolean
[read-only] Indicates whether the screen navigator is currently transitioning between screens.
BaseScreenNavigator
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
 InheritedmaintainTouchFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. If true, the display object should remain in focus, even if something else is touched.
FeathersControl
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
  minimumDragDistance : Number
The minimum physical distance (in inches) that a touch must move before a drag gesture begins.
TabNavigator
  minimumSwipeVelocity : Number
The minimum physical velocity (in inches per second) that a touch must move before a swipe is detected.
TabNavigator
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmoveEffect : Function
An optional effect that is activated when the component is moved to a new position.
FeathersControl
 InheritednextDownFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.DOWN is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextLeftFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.LEFT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextRightFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.RIGHT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when the tab key is pressed when a focus manager is enabled.
FeathersControl
 InheritednextUpFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.UP is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritedpreviousTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The previous object that will receive focus when the tab key is pressed while holding shift when a focus manager is enabled.
FeathersControl
 InheritedresizeEffect : Function
An optional effect that is activated when the component is resized with new dimensions.
FeathersControl
  selectedIndex : int
The index of the currently selected tab.
TabNavigator
 InheritedshowEffect : Function
An optional effect that is activated when the component is shown.
FeathersControl
 InheritedstyleName : String
The concatenated styleNameList, with values separated by spaces.
FeathersControl
 InheritedstyleNameList : TokenList
[read-only] Contains a list of all "styles" assigned to this control.
FeathersControl
 InheritedstyleProvider : IStyleProvider
When a component initializes, a style provider may be used to set properties that affect the component's visual appearance.
FeathersControl
  tabBarFactory : Function
A function used to generate the navigator's tab bar sub-component.
TabNavigator
 InheritedtoolTip : String
Text to display in a tool tip to when hovering over this component, if the ToolTipManager is enabled.
FeathersControl
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
Protected Properties
 PropertyDefined By
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualMinHeight : Number = 0
The final minimum height value that should be used for layout.
FeathersControl
 InheritedactualMinWidth : Number = 0
The final minimum width value that should be used for layout.
FeathersControl
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the styleProvider property is set to this value.
FeathersControl
  tabBarStyleName : String = "feathers-tab-navigator-tab-bar"
The value added to the styleNameList of the tab bar.
TabNavigator
Public Methods
 MethodDefined By
  
Constructor.
TabNavigator
  
addScreen(id:String, item:TabNavigatorItem):void
Registers a new screen with a string identifier that can be used to reference the screen in other calls, like removeScreen() or showScreen().
TabNavigator
  
addScreenAt(id:String, item:TabNavigatorItem, index:int):void
Registers a new screen with a string identifier that can be used to reference the screen in other calls, like removeScreen() or showScreen().
TabNavigator
 Inherited
getBounds(targetSpace:DisplayObject, resultRect:Rectangle = null):Rectangle
[override] Feathers components use an optimized getBounds() implementation that may sometimes behave differently than regular Starling display objects.
FeathersControl
  
Returns the TabNavigatorItem instance with the specified identifier.
TabNavigator
 Inherited
getScreenIDs(result:Vector.<String> = null):Vector.<String>
Returns a list of the screen identifiers that have been added.
BaseScreenNavigator
 Inherited
hasScreen(id:String):Boolean
Determines if the specified screen identifier has been added with addScreen().
BaseScreenNavigator
 Inherited
hideFocus():void
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
 Inherited
If the component has not yet initialized, initializes immediately.
FeathersControl
 Inherited
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending.
FeathersControl
 Inherited
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not.
FeathersControl
 Inherited
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single function call.
FeathersControl
 Inherited
Removes all screens that were added with addScreen().
BaseScreenNavigator
 Inherited
removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent.
FeathersControl
  
Removes an existing screen using the identifier assigned to it in the call to addScreen() or addScreenAt().
TabNavigator
  
Removes an existing screen using the identifier assigned to it in the call to addScreen().
TabNavigator
 Inherited
Resets the styleProvider property to its default value, which is usually the global style provider for the component.
FeathersControl
 Inherited
Indicates that effects should be re-activated after being suspended.
FeathersControl
 Inherited
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single function call.
FeathersControl
 Inherited
showFocus():void
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
  
showScreen(id:String, transition:Function = null):DisplayObject
Displays the screen with the specified id.
TabNavigator
 Inherited
Indicates that effects should not be activated temporarily.
FeathersControl
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
 Inherited
If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself.
BaseScreenNavigator
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
  
Creates and adds the tabBar sub-component and removes the old instance, if one exists.
TabNavigator
 Inherited
defaultTransition(oldScreen:DisplayObject, newScreen:DisplayObject, completeCallback:Function):void
[static] The default transition function.
BaseScreenNavigator
 Inherited
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
 Inherited
focusInHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_IN that may be overridden in subclasses to perform additional actions when the component receives focus.
FeathersControl
 Inherited
focusOutHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_OUT that may be overridden in subclasses to perform additional actions when the component loses focus.
FeathersControl
 Inherited
The next style that is set will not be restricted.
FeathersControl
 Inherited
initialize():void
Called the first time that the UI control is added to the stage, and you should override this function to customize the initialization process.
FeathersControl
 Inherited
processStyleRestriction(key:Object):Boolean
Used by setters for properties that are considered "styles" to determine if the setter has been called directly on the component or from a style provider.
FeathersControl
 Inherited
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
saveMeasurements(width:Number, height:Number, minWidth:Number = 0, minHeight:Number = 0):Boolean
Saves the dimensions and minimum dimensions calculated for the component.
FeathersControl
 Inherited
setInvalidationFlag(flag:String):void
Sets an invalidation flag.
FeathersControl
 Inherited
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
Events
 Event Summary Defined By
  Dispatched when the user starts a swipe gesture to switch tabs.TabNavigator
 InheritedDispatched when the active screen changes.BaseScreenNavigator
 InheritedDispatched when the current screen is removed and there is no active screen.BaseScreenNavigator
 InheritedDispatched after the component has validated for the first time.FeathersControl
  Dispatched when the user stops a swipe gesture.TabNavigator
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when the width or height of the control changes.FeathersControl
 InheritedDispatched when the transition between screens has completed.BaseScreenNavigator
 InheritedDispatched when the transition between screens begins.BaseScreenNavigator
  Dispatched when one of the tabs is triggered.TabNavigator
Styles
 StyleDefined By
  
A style name to add to the navigator's tab bar sub-component.
TabNavigator
 Inherited
focusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 Inherited
focusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
FeathersControl
  
swipeDuration : Number
The duration, in seconds, of the animation for a swipe gesture.
TabNavigator
  
swipeEase : Object
The easing function used with the animation for a swipe gesture.
TabNavigator
  
The location of the tab bar.
TabNavigator
  
transition : Function
Typically used to provide some kind of animation or visual effect, this function is called when a new screen is shown.
TabNavigator
Public Constants
 ConstantDefined By
  DEFAULT_CHILD_STYLE_NAME_TAB_BAR : String = "feathers-tab-navigator-tab-bar"
[static] The default value added to the styleNameList of the tab bar.
TabNavigator
 InheritedINVALIDATION_FLAG_ALL : String = "all"
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
 InheritedINVALIDATION_FLAG_DATA : String = "data"
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_FOCUS : String = "focus"
[static] Invalidation flag to indicate that the focus of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_LAYOUT : String = "layout"
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SCROLL : String = "scroll"
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SELECTED : String = "selected"
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SIZE : String = "size"
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SKIN : String = "skin"
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STATE : String = "state"
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STYLES : String = "styles"
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
Property Detail
globalStyleProviderproperty
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all TabNavigator components.

The default value is null.

See also

isSwipeEnabledproperty 
isSwipeEnabled:Boolean

Determines if the swipe gesture to switch between tabs is enabled.

In the following example, swiping between tabs is enabled:

navigator.isSwipeEnabled = true;

The default value is false.


Implementation
    public function get isSwipeEnabled():Boolean
    public function set isSwipeEnabled(value:Boolean):void
minimumDragDistanceproperty 
minimumDragDistance:Number

The minimum physical distance (in inches) that a touch must move before a drag gesture begins.

In the following example, the minimum drag distance is customized:

scroller.minimumDragDistance = 0.1;

The default value is 0.04.


Implementation
    public function get minimumDragDistance():Number
    public function set minimumDragDistance(value:Number):void
minimumSwipeVelocityproperty 
minimumSwipeVelocity:Number

The minimum physical velocity (in inches per second) that a touch must move before a swipe is detected. Otherwise, it will settle which screen to navigate to based on which one is closer when the touch ends.

In the following example, the minimum swipe velocity is customized:

navigator.minimumSwipeVelocity = 2;

The default value is 5.


Implementation
    public function get minimumSwipeVelocity():Number
    public function set minimumSwipeVelocity(value:Number):void
selectedIndexproperty 
selectedIndex:int

The index of the currently selected tab. Returns -1 if no tab is selected.

In the following example, the tab navigator's selected index is changed:

navigator.selectedIndex = 2;

The following example listens for when selection changes and requests the selected index:

function navigator_changeHandler( event:Event ):void
{
    var navigator:TabNavigator = TabNavigator( event.currentTarget );
    var index:int = navigator.selectedIndex;
}
navigator.addEventListener( Event.CHANGE, navigator_changeHandler );

The default value is -1.


Implementation
    public function get selectedIndex():int
    public function set selectedIndex(value:int):void
tabBarFactoryproperty 
tabBarFactory:Function

A function used to generate the navigator's tab bar sub-component. The tab bar must be an instance of TabBar (or a subclass). This factory can be used to change properties on the tab bar when it is first created. For instance, if you are skinning Feathers components without a theme, you might use this factory to set skins and other styles on the tab bar.

The function should have the following signature:

function():TabBar

In the following example, a custom tab bar factory is passed to the navigator:

navigator.tabBarFactory = function():TabBar
{
    var tabs:TabBar = new TabBar();
    tabs.distributeTabSizes = true;
    return tabs;
};

The default value is null.


Implementation
    public function get tabBarFactory():Function
    public function set tabBarFactory(value:Function):void

See also

tabBarStyleNameproperty 
protected var tabBarStyleName:String = "feathers-tab-navigator-tab-bar"

The value added to the styleNameList of the tab bar. This variable is protected so that sub-classes can customize the tab bar style name in their constructors instead of using the default style name defined by DEFAULT_CHILD_STYLE_NAME_TAB_BAR.

To customize the tab bar style name without subclassing, see customTabBarStyleName.

See also

Constructor Detail
TabNavigator()Constructor
public function TabNavigator()

Constructor.

Method Detail
addScreen()method
public function addScreen(id:String, item:TabNavigatorItem):void

Registers a new screen with a string identifier that can be used to reference the screen in other calls, like removeScreen() or showScreen().

Parameters

id:String
 
item:TabNavigatorItem

See also

addScreenAt()method 
public function addScreenAt(id:String, item:TabNavigatorItem, index:int):void

Registers a new screen with a string identifier that can be used to reference the screen in other calls, like removeScreen() or showScreen().

Parameters

id:String
 
item:TabNavigatorItem
 
index:int

See also

createTabBar()method 
protected function createTabBar():void

Creates and adds the tabBar sub-component and removes the old instance, if one exists.

Meant for internal use, and subclasses may override this function with a custom implementation.

See also

getScreen()method 
public function getScreen(id:String):TabNavigatorItem

Returns the TabNavigatorItem instance with the specified identifier.

Parameters

id:String

Returns
TabNavigatorItem
removeScreen()method 
public function removeScreen(id:String):TabNavigatorItem

Removes an existing screen using the identifier assigned to it in the call to addScreen() or addScreenAt().

Parameters

id:String

Returns
TabNavigatorItem

See also

removeScreenAt()method 
public function removeScreenAt(index:int):TabNavigatorItem

Removes an existing screen using the identifier assigned to it in the call to addScreen().

Parameters

index:int

Returns
TabNavigatorItem

See also

showScreen()method 
public function showScreen(id:String, transition:Function = null):DisplayObject

Displays the screen with the specified id. An optional transition may be passed in. If null the transition property will be used instead.

Returns a reference to the new screen, unless a transition is currently active. In that case, the new screen will be queued until the transition has completed, and no reference will be returned.

Parameters

id:String
 
transition:Function (default = null)

Returns
DisplayObject

See also

Event Detail
beginInteraction Event
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.BEGIN_INTERACTION

Dispatched when the user starts a swipe gesture to switch tabs.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

The FeathersEventType.BEGIN_INTERACTION event type is used by many UI controls where a drag or other interaction happens over time. An example is a Slider control where the user touches the thumb to begin dragging.

See also

endInteraction Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.END_INTERACTION

Dispatched when the user stops a swipe gesture. If the user interaction has also triggered an animation, the content may continue moving after this event is dispatched.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

The FeathersEventType.END_INTERACTION event type is used by many UI controls where a drag or other interaction happens over time. An example is a Slider control where the user stops touching the thumb after dragging.

Depending on the control, the result of the interaction may continue after the interaction ends. For instance, a Scroller may be "thrown", and the scrolling will continue animating after the user has finished interacting with it.

See also

triggered Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.TRIGGERED

Dispatched when one of the tabs is triggered. The data property of the event contains the TabNavigatorItem that is associated with the tab that was triggered.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
dataThe TabNavigatorItem associated with the tab that was triggered.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

Style Detail
transitionstyle
transition:Function

Typically used to provide some kind of animation or visual effect, this function is called when a new screen is shown.

In the following example, the tab navigator is given a transition that fades in the new screen on top of the old screen:

navigator.transition = Fade.createFadeInTransition();

A number of animated transitions may be found in the feathers.motion package. However, you are not limited to only these transitions. It's possible to create custom transitions too.

A custom transition function should have the following signature:

function(oldScreen:DisplayObject, newScreen:DisplayObject, completeCallback:Function):void

Either of the oldScreen and newScreen arguments may be null, but never both. The oldScreen argument will be null when the first screen is displayed or when a new screen is displayed after clearing the screen. The newScreen argument will be null when clearing the screen.

The completeCallback function must be called when the transition effect finishes.This callback indicate to the tab navigator that the transition has finished. This function has the following signature:

function(cancelTransition:Boolean = false):void

The first argument defaults to false, meaning that the transition completed successfully. In most cases, this callback may be called without arguments. If a transition is cancelled before completion (perhaps through some kind of user interaction), and the previous screen should be restored, pass true as the first argument to the callback to inform the tab navigator that the transition is cancelled.

The default value is null.

See also

tabBarPositionstyle 
tabBarPosition:String

The location of the tab bar.

The following example positions the tab bar on the top of the navigator:

navigator.tabBarPosition = RelativePosition.TOP;

The default value is feathers.layout.RelativePosition.BOTTOM.

See also

swipeEasestyle 
swipeEase:Object

The easing function used with the animation for a swipe gesture.

In the following example, the ease of the animation for a swipe gesture is customized:

navigator.swipeEase = Transitions.EASE_IN_OUT;

The default value is starling.animation.Transitions.EASE_OUT.

See also

swipeDurationstyle 
swipeDuration:Number

The duration, in seconds, of the animation for a swipe gesture.

In the following example, the duration of the animation for a swipe gesture is set to 500 milliseconds:

navigator.swipeDuration = 0.5;

The default value is 0.25.

See also

customTabBarStyleNamestyle 
customTabBarStyleName:String

A style name to add to the navigator's tab bar sub-component. Typically used by a theme to provide different styles to different navigators.

In the following example, a custom tab bar style name is passed to the navigator:

navigator.customTabBarStyleName = "my-custom-tab-bar";

In your theme, you can target this sub-component style name to provide different styles than the default:

getStyleProviderForClass( TabBar ).setFunctionForStyleName( "my-custom-tab-bar", setCustomTabBarStyles );

The default value is null.

See also

Constant Detail
DEFAULT_CHILD_STYLE_NAME_TAB_BARConstant
public static const DEFAULT_CHILD_STYLE_NAME_TAB_BAR:String = "feathers-tab-navigator-tab-bar"

The default value added to the styleNameList of the tab bar.

See also