Package | feathers.controls |
Class | public class TabBar |
Inheritance | TabBar ![]() ![]() ![]() ![]() ![]() ![]() |
Implements | IFocusDisplayObject, ITextBaselineControl, IDragSource, IDropTarget |
Product Version : | Feathers 1.0.0 |
The following example sets the data provider, selects the second tab, and listens for when the selection changes:
var tabs:TabBar = new TabBar(); tabs.dataProvider = new ArrayCollection( [ { label: "One" }, { label: "Two" }, { label: "Three" }, ]); tabs.selectedIndex = 1; tabs.addEventListener( Event.CHANGE, tabs_changeHandler ); this.addChild( tabs );
See also
Property | Defined By | ||
---|---|---|---|
![]() | addedEffect : Function
An optional effect that is activated when the component is added to
the stage. | FeathersControl | |
![]() | alpha : Number The opacity of the object. | DisplayObject | |
![]() | base : DisplayObject [read-only] The topmost object in the display tree the object is part of. | DisplayObject | |
baseline : Number [read-only]
Returns the text baseline measurement, in pixels. | TabBar | ||
![]() | blendMode : String The blend mode determines how the object is blended with the objects underneath. | DisplayObject | |
![]() | bounds : Rectangle [read-only] The bounds of the object relative to the local coordinates of the parent. | DisplayObject | |
dataProvider : IListCollection
The collection of data to be displayed with tabs. | TabBar | ||
![]() | defaultTextEditorFactory : Function [static]
A function used by all UI controls that support text editor to
create an ITextEditor instance. | FeathersControl | |
![]() | defaultTextRendererFactory : Function [static]
A function used by all UI controls that support text renderers to
create an ITextRenderer instance. | FeathersControl | |
![]() | depth : int [read-only]
The component's depth in the display list, relative to the stage. | FeathersControl | |
dragEnabled : Boolean
Indicates if this tab bar can initiate drag and drop operations by
touching an item and dragging it. | TabBar | ||
dragFormat : String
Drag and drop is restricted to components that have the same
dragFormat. | TabBar | ||
dropEnabled : Boolean
Indicates if this tab bar can accept items that are dragged and
dropped over the tab bar's hit area. | TabBar | ||
![]() | effectsSuspended : Boolean [read-only]
Indicates if effects have been suspended. | FeathersControl | |
enabledField : String
The field in the item that determines if the tab is enabled. | TabBar | ||
enabledFunction : Function
A function used to determine if a specific tab is enabled. | TabBar | ||
![]() | explicitHeight : Number [read-only]
The height value explicitly set by passing a value to the
height setter or by calling the setSize()
function. | FeathersControl | |
![]() | explicitMaxHeight : Number [read-only]
The maximum height value explicitly set by passing a value to the
maxHeight setter. | FeathersControl | |
![]() | explicitMaxWidth : Number [read-only]
The maximum width value explicitly set by passing a value to the
maxWidth setter. | FeathersControl | |
![]() | explicitMinHeight : Number [read-only]
The minimum height value explicitly set by passing a value to the
minHeight setter. | FeathersControl | |
![]() | explicitMinWidth : Number [read-only]
The minimum width value explicitly set by passing a value to the
minWidth setter. | FeathersControl | |
![]() | explicitWidth : Number [read-only]
The width value explicitly set by passing a value to the
width setter or to the setSize() method. | FeathersControl | |
![]() | filter : FragmentFilter The filter that is attached to the display object. | DisplayObject | |
firstTabFactory : Function
If not null, creates the first tab. | TabBar | ||
![]() | focusInEffect : Function
An optional effect that is activated when the component receives
focus. | FeathersControl | |
![]() | focusManager : 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 | |
![]() | focusOutEffect : Function
An optional effect that is activated when the component loses focus. | FeathersControl | |
![]() | focusOwner : 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 TabBar
components. | TabBar | ||
![]() | height : Number [override]
The height of the component, in pixels. | FeathersControl | |
![]() | hideEffect : Function
An optional effect that is activated when the component is hidden. | FeathersControl | |
iconField : String
The field in the item that contains a display object to be displayed
as an icon or other graphic next to the label in the tab. | TabBar | ||
iconFunction : Function
A function used to generate an icon for a specific tab, based on its
associated item in the data provider. | TabBar | ||
![]() | includeInLayout : Boolean
Determines if the ILayout should use this object or ignore it. | FeathersControl | |
![]() | is3D : Boolean [read-only] Indicates if this object or any of its parents is a 'Sprite3D' object. | DisplayObject | |
![]() | isCreated : Boolean [read-only]
Determines if the component has been initialized and validated for
the first time. | FeathersControl | |
![]() | isEnabled : Boolean
Indicates whether the control is interactive or not. | FeathersControl | |
![]() | isFocusEnabled : 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 | |
![]() | isInitialized : Boolean [read-only]
Determines if the component has been initialized yet. | FeathersControl | |
![]() | isQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list. | FeathersControl | |
![]() | isShowingFocus : 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 | |
labelField : String
The field in the item that contains the label text to be displayed by
the tabs. | TabBar | ||
labelFunction : Function
A function used to generate label text for a specific tab. | TabBar | ||
lastTabFactory : Function
If not null, creates the last tab. | TabBar | ||
![]() | layoutData : ILayoutData
Extra parameters associated with this display object that will be
used by the layout algorithm. | FeathersControl | |
![]() | maintainTouchFocus : 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 | |
![]() | mask : DisplayObject The display object that acts as a mask for the current object. | DisplayObject | |
![]() | maskInverted : Boolean Indicates if the masked region of this object is set to be inverted. | DisplayObject | |
![]() | maxHeight : Number
The maximum recommended height to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | |
![]() | maxWidth : Number
The maximum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | |
![]() | minHeight : Number
The minimum recommended height to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | |
![]() | minTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's
height is smaller than this value, it will be expanded. | FeathersControl | |
![]() | minTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's
width is smaller than this value, it will be expanded. | FeathersControl | |
![]() | minWidth : Number
The minimum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | |
![]() | moveEffect : Function
An optional effect that is activated when the component is moved to
a new position. | FeathersControl | |
![]() | name : String The name of the display object (default: null). | DisplayObject | |
![]() | nextDownFocus : 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 | |
![]() | nextLeftFocus : 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 | |
![]() | nextRightFocus : 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 | |
![]() | nextTabFocus : 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 | |
![]() | nextUpFocus : 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 | |
![]() | numChildren : int [read-only] The number of children of this container. | DisplayObjectContainer | |
![]() | parent : DisplayObjectContainer [read-only] The display object container that contains this display object. | DisplayObject | |
![]() | pivotX : Number The x coordinate of the object's origin in its own coordinate space (default: 0). | DisplayObject | |
![]() | pivotY : Number The y coordinate of the object's origin in its own coordinate space (default: 0). | DisplayObject | |
![]() | previousTabFocus : 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 | |
![]() | requiresRedraw : Boolean [read-only] Indicates if the object needs to be redrawn in the upcoming frame, i.e. | DisplayObject | |
![]() | resizeEffect : Function
An optional effect that is activated when the component is resized
with new dimensions. | FeathersControl | |
![]() | root : DisplayObject [read-only] The root object the display object is connected to (i.e. | DisplayObject | |
![]() | rotation : Number The rotation of the object in radians. | DisplayObject | |
![]() | scale : Number Sets both 'scaleX' and 'scaleY' to the same value. | DisplayObject | |
![]() | scaleX : Number The horizontal scale factor. | DisplayObject | |
![]() | scaleY : Number The vertical scale factor. | DisplayObject | |
selectedIndex : int
The index of the currently selected tab. | TabBar | ||
selectedItem : Object
The currently selected item from the data provider. | TabBar | ||
![]() | showEffect : Function
An optional effect that is activated when the component is shown. | FeathersControl | |
![]() | skewX : Number The horizontal skew angle in radians. | DisplayObject | |
![]() | skewY : Number The vertical skew angle in radians. | DisplayObject | |
![]() | stage : Stage [read-only] The stage the display object is connected to, or null if it is not connected
to the stage. | DisplayObject | |
![]() | styleName : String
The concatenated styleNameList, with values separated
by spaces. | FeathersControl | |
![]() | styleNameList : TokenList [read-only]
Contains a list of all "styles" assigned to this control. | FeathersControl | |
![]() | styleProvider : IStyleProvider
When a component initializes, a style provider may be used to set
properties that affect the component's visual appearance. | FeathersControl | |
tabFactory : Function
Creates each tab. | TabBar | ||
tabInitializer : Function
Modifies the properties of an individual tab, using an item from the
data provider. | TabBar | ||
tabProperties : Object
An object that stores properties for all of the tab bar's tabs, and
the properties will be passed down to every tab when the tab bar
validates. | TabBar | ||
tabReleaser : Function
Resets the properties of an individual tab, using the item from the
data provider that was associated with the tab. | TabBar | ||
![]() | toolTip : String
Text to display in a tool tip to when hovering over this component,
if the ToolTipManager is enabled. | FeathersControl | |
![]() | touchable : Boolean Indicates if this object (and its children) will receive touch events. | DisplayObject | |
![]() | touchGroup : Boolean If a container is a 'touchGroup', it will act as a single touchable object. | DisplayObjectContainer | |
![]() | transformationMatrix : Matrix The transformation matrix of the object relative to its parent. | DisplayObject | |
![]() | transformationMatrix3D : Matrix3D [read-only] The 3D transformation matrix of the object relative to its parent. | DisplayObject | |
![]() | useHandCursor : Boolean Indicates if the mouse cursor should transform into a hand while it's over the sprite. | DisplayObject | |
![]() | visible : Boolean The visibility of the object. | DisplayObject | |
![]() | width : Number [override]
The width of the component, in pixels. | FeathersControl | |
![]() | x : Number The x coordinate of the object relative to the local coordinates of the parent. | DisplayObject | |
![]() | y : Number The y coordinate of the object relative to the local coordinates of the parent. | DisplayObject |
Property | Defined By | ||
---|---|---|---|
![]() | actualHeight : Number = 0
The final height value that should be used for layout. | FeathersControl | |
![]() | actualMinHeight : Number = 0
The final minimum height value that should be used for layout. | FeathersControl | |
![]() | actualMinWidth : Number = 0
The final minimum width value that should be used for layout. | FeathersControl | |
![]() | actualWidth : Number = 0
The final width value that should be used for layout. | FeathersControl | |
![]() | defaultStyleProvider : IStyleProvider [read-only]
When the FeathersControl constructor is called, the
styleProvider property is set to this value. | FeathersControl | |
firstTabStyleName : String = feathers-tab-bar-tab
The value added to the styleNameList of the first tab. | TabBar | ||
lastTabStyleName : String = feathers-tab-bar-tab
The value added to the styleNameList of the last tab. | TabBar | ||
tabStyleName : String = feathers-tab-bar-tab
The value added to the styleNameList of the tabs. | TabBar | ||
toggleGroup : ToggleGroup
The toggle group. | TabBar |
Method | Defined By | ||
---|---|---|---|
TabBar()
Constructor. | TabBar | ||
![]() | Adds a child to the container. | DisplayObjectContainer | |
![]() | Adds a child to the container at a certain index. | DisplayObjectContainer | |
![]() | addEventListener(type:String, listener:Function):void [override] Registers an event listener at a certain object. | DisplayObject | |
![]() | alignPivot(horizontalAlign:String = center, verticalAlign:String = center):void Moves the pivot point to a certain position within the local coordinate system
of the object. | DisplayObject | |
![]() | broadcastEvent(event:Event):void Dispatches an event on all children (recursively). | DisplayObjectContainer | |
![]() | broadcastEventWith(eventType:String, data:Object = null):void Dispatches an event with the given parameters on all children (recursively). | DisplayObjectContainer | |
![]() | contains(child:DisplayObject):Boolean Determines if a certain object is a child of the container (recursively). | DisplayObjectContainer | |
![]() | dispatchEvent(event:Event):void Dispatches an event to all objects that have registered listeners for its type. | EventDispatcher | |
![]() | dispatchEventWith(type:String, bubbles:Boolean = false, data:Object = null):void Dispatches an event with the given parameters to all objects that have registered
listeners for the given type. | EventDispatcher | |
![]() | dispose():void [override] Disposes the resources of all children. | DisplayObjectContainer | |
![]() | drawToBitmapData(out:BitmapData = null, color:uint = 0x0, alpha:Number = 0.0):BitmapData Draws the object into a BitmapData object. | DisplayObject | |
![]() | 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 | |
![]() | getChildAt(index:int):DisplayObject Returns a child object at a certain index. | DisplayObjectContainer | |
![]() | getChildByName(name:String):DisplayObject Returns a child object with a certain name (non-recursively). | DisplayObjectContainer | |
![]() | getChildIndex(child:DisplayObject):int Returns the index of a child within the container, or "-1" if it is not found. | DisplayObjectContainer | |
![]() | getTransformationMatrix(targetSpace:DisplayObject, out:Matrix = null):Matrix Creates a matrix that represents the transformation from the local coordinate system
to another. | DisplayObject | |
![]() | getTransformationMatrix3D(targetSpace:DisplayObject, out:Matrix3D = null):Matrix3D Creates a matrix that represents the transformation from the local coordinate system
to another. | DisplayObject | |
![]() | globalToLocal(globalPoint:Point, out:Point = null):Point Transforms a point from global (stage) coordinates to the local coordinate system. | DisplayObject | |
![]() | globalToLocal3D(globalPoint:Point, out:Vector3D = null):Vector3D Transforms a point from global (stage) coordinates to the 3D local coordinate system. | DisplayObject | |
![]() | hasEventListener(type:String, listener:Function = null):Boolean If called with one argument, figures out if there are any listeners registered for
the given event type. | EventDispatcher | |
![]() | hideFocus():void
The implementation of this method is provided for convenience, but
it cannot be used unless a subclass implements the
IFocusDisplayObject interface.
| FeathersControl | |
![]() | hitTest(localPoint:Point):DisplayObject [override] Returns the object that is found topmost beneath a point in local coordinates, or nil
if the test fails. | DisplayObjectContainer | |
![]() | hitTestMask(localPoint:Point):Boolean Checks if a certain point is inside the display object's mask. | DisplayObject | |
![]() | initializeNow():void
If the component has not yet initialized, initializes immediately. | FeathersControl | |
![]() | invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending. | FeathersControl | |
![]() | isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not. | FeathersControl | |
![]() | local3DToGlobal(localPoint:Vector3D, out:Point = null):Point Transforms a 3D point from the local coordinate system to global (stage) coordinates. | DisplayObject | |
![]() | localToGlobal(localPoint:Point, out:Point = null):Point Transforms a point from the local coordinate system to global (stage) coordinates. | DisplayObject | |
![]() | move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single
function call. | FeathersControl | |
![]() | Removes a child from the container. | DisplayObjectContainer | |
![]() | removeChildAt(index:int, dispose:Boolean = false):DisplayObject Removes a child at a certain index. | DisplayObjectContainer | |
![]() | removeChildren(beginIndex:int = 0, endIndex:int = -1, dispose:Boolean = false):void Removes a range of children from the container (endIndex included). | DisplayObjectContainer | |
![]() | removeEventListener(type:String, listener:Function):void [override] Removes an event listener from the object. | DisplayObject | |
![]() | removeEventListeners(type:String = null):void [override] Removes all event listeners with a certain type, or all of them if type is null. | DisplayObject | |
![]() | removeFromParent(dispose:Boolean = false):void Removes the object from its parent, if it has one, and optionally disposes it. | DisplayObject | |
![]() | removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent. | FeathersControl | |
![]() | [override] Renders the display object with the help of a painter object. | DisplayObjectContainer | |
![]() | resetStyleProvider():void
Resets the styleProvider property to its default value,
which is usually the global style provider for the component. | FeathersControl | |
![]() | resumeEffects():void
Indicates that effects should be re-activated after being suspended. | FeathersControl | |
![]() | setChildIndex(child:DisplayObject, index:int):void Moves a child to a certain index. | DisplayObjectContainer | |
![]() | setRequiresRedraw():void Forces the object to be redrawn in the next frame. | DisplayObject | |
setSelectedIndexWithAnimation(selectedIndex:int):void
Changes the selectedIndex property, but animates the
selectionSkin to the new position, as if the user
triggered a tab. | TabBar | ||
setSelectedItemWithAnimation(selectedItem:Object):void
Changes the selectedItem property, but animates the
selectionSkin to the new position, as if the user
triggered a tab. | TabBar | ||
![]() | setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single
function call. | FeathersControl | |
![]() | showFocus():void
The implementation of this method is provided for convenience, but
it cannot be used unless a subclass implements the
IFocusDisplayObject interface.
| FeathersControl | |
![]() | sortChildren(compareFunction:Function):void Sorts the children according to a given function (that works just like the sort function
of the Vector class). | DisplayObjectContainer | |
![]() | suspendEffects():void
Indicates that effects should not be activated temporarily. | FeathersControl | |
![]() | Swaps the indexes of two children. | DisplayObjectContainer | |
![]() | swapChildrenAt(index1:int, index2:int):void Swaps the indexes of two children. | DisplayObjectContainer | |
![]() | validate():void
Immediately validates the display object, if it is invalid. | FeathersControl |
Method | Defined By | ||
---|---|---|---|
addTabListeners(tab:ToggleButton):void | TabBar | ||
![]() | clearInvalidationFlag(flag:String):void
Clears an invalidation flag. | FeathersControl | |
dataProvider_sortChangeHandler(event:Event):void | TabBar | ||
![]() | draw():void
Override to customize layout and to adjust properties of children. | FeathersControl | |
![]() | 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 | |
![]() | 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 | |
![]() | ignoreNextStyleRestriction():void
The next style that is set will not be restricted. | FeathersControl | |
![]() | 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 | |
![]() | 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 | |
![]() | refreshFocusIndicator():void
Updates the focus indicator skin by showing or hiding it and
adjusting its position and dimensions. | FeathersControl | |
![]() | saveMeasurements(width:Number, height:Number, minWidth:Number = 0, minHeight:Number = 0):Boolean
Saves the dimensions and minimum dimensions calculated for the
component. | FeathersControl | |
![]() | setInvalidationFlag(flag:String):void
Sets an invalidation flag. | FeathersControl | |
![]() | setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of
invalidating or not. | FeathersControl |
Event | Summary | Defined By | ||
---|---|---|---|---|
![]() | Dispatched when an object is added to a parent. | DisplayObject | ||
![]() | Dispatched when an object is connected to the stage (directly or indirectly). | DisplayObject | ||
Dispatched when the selected tab changes. | TabBar | |||
![]() | Dispatched after the component has validated for the first time. | FeathersControl | ||
![]() | Dispatched once every frame on every object that is connected to the stage. | DisplayObject | ||
![]() | Dispatched after initialize() has been called, but before the first time that draw() has been called. | FeathersControl | ||
![]() | Dispatched when a key on the keyboard is pressed. | DisplayObject | ||
![]() | Dispatched when a key on the keyboard is released. | DisplayObject | ||
![]() | Dispatched when an object is removed from its parent. | DisplayObject | ||
![]() | Dispatched when an object is removed from the stage and won't be rendered any longer. | DisplayObject | ||
![]() | Dispatched when the width or height of the control changes. | FeathersControl | ||
![]() | Dispatched when an object is touched. | DisplayObject | ||
Dispatched when one of the tabs is triggered. | TabBar |
Style | Description | Defined By | ||
---|---|---|---|---|
customFirstTabStyleName | Type: String A style name to add to the first tab in this tab bar. Typically used by a theme to provide different styles to the first tab. In the following example, a custom first tab style name is provided to the tab bar:
tabs.customFirstTabStyleName = "my-custom-first-tab";
In your theme, you can target this sub-component style name to provide different styles than the default:
getStyleProviderForClass( ToggleButton ).setFunctionForStyleName( "my-custom-first-tab", setCustomFirstTabStyles );
The default value is null .See also | TabBar | ||
customLastTabStyleName | Type: String A style name to add to the last tab in this tab bar. Typically used by a theme to provide different styles to the last tab. In the following example, a custom last tab style name is provided to the tab bar:
tabs.customLastTabStyleName = "my-custom-last-tab";
In your theme, you can target this sub-component style name to provide different styles than the default:
getStyleProviderForClass( ToggleButton ).setFunctionForStyleName( "my-custom-last-tab", setCustomLastTabStyles );
The default value is null .See also | TabBar | ||
customTabStyleName | Type: String A style name to add to all tabs in this tab bar. Typically used by a theme to provide different styles to different tab bars. In the following example, a custom tab style name is provided to the tab bar:
tabs.customTabStyleName = "my-custom-tab";
In your theme, you can target this sub-component style name to provide different styles than the default:
getStyleProviderForClass( ToggleButton ).setFunctionForStyleName( "my-custom-tab", setCustomTabStyles );
The default value is null .See also | TabBar | ||
direction | Type: String The tab bar layout is either vertical or horizontal. In the following example, the tab bar's direction is set to vertical:
tabs.direction = Direction.VERTICAL;
Note: The feathers.layout.Direction.HORIZONTAL .See also | TabBar | ||
distributeTabSizes | Type: Boolean If true , the tabs will be equally sized in the direction
of the layout. In other words, if the tab bar is horizontal, each tab
will have the same width, and if the tab bar is vertical, each tab
will have the same height. If false , the tabs will be
sized to their ideal dimensions.
The following example aligns the tabs to the middle without distributing them:
tabs.direction = Direction.VERTICAL;
tabs.verticalAlign = VerticalAlign.MIDDLE;
tabs.distributeTabSizes = false;
The default value is true . | TabBar | ||
dropIndicatorSkin | Type: starling.display.DisplayObject A skin to display when dragging one an item to indicate where it can be dropped. In the following example, the tab bar's drop indicator is provided:
tabs.dropIndicatorSkin = new Image( texture );
The default value is null . | TabBar | ||
firstGap | Type: Number Space, in pixels, between the first two tabs. If NaN ,
the default gap property will be used.
The following example sets the gap between the first and second tab to a different value than the standard gap:
tabs.firstGap = 30;
tabs.gap = 20;
The default value is NaN .See also | TabBar | ||
![]() | Type: starling.display.DisplayObject If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.See also | FeathersControl | ||
![]() | Type: Number Quickly sets all focus padding properties to the same value. See also | FeathersControl | ||
![]() | Type: Number The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin. See also | FeathersControl | ||
![]() | Type: Number The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin. See also | FeathersControl | ||
![]() | Type: Number The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin. See also | FeathersControl | ||
![]() | Type: Number The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin. See also | FeathersControl | ||
gap | Type: Number Space, in pixels, between tabs. In the following example, the tab bar's gap is set to 20 pixels:
tabs.gap = 20;
The default value is 0 .See also | TabBar | ||
horizontalAlign | Type: String Determines how the tabs are horizontally aligned within the bounds of the tab bar (on the x-axis). The following example aligns the tabs to the left:
tabs.horizontalAlign = HorizontalAlign.LEFT;
The default value is feathers.layout.HorizontalAlign.JUSTIFY .See also | TabBar | ||
lastGap | Type: Number Space, in pixels, between the last two tabs. If NaN ,
the default gap property will be used.
The following example sets the gap between the last and next to last tab to a different value than the standard gap:
tabs.lastGap = 30;
tabs.gap = 20;
The default value is NaN .See also | TabBar | ||
padding | Type: Number Quickly sets all padding properties to the same value. The padding getter always returns the value of
paddingTop , but the other padding values may be
different.
In the following example, the padding of all sides of the tab bar is set to 20 pixels:
tabs.padding = 20;
The default value is 0 .See also | TabBar | ||
paddingBottom | Type: Number The minimum space, in pixels, between the tab bar's bottom edge and the tabs. In the following example, the padding on the bottom edge of the tab bar is set to 20 pixels:
tabs.paddingBottom = 20;
The default value is 0 .See also | TabBar | ||
paddingLeft | Type: Number The minimum space, in pixels, between the tab bar's left edge and the tabs. In the following example, the padding on the left edge of the tab bar is set to 20 pixels:
tabs.paddingLeft = 20;
The default value is 0 .See also | TabBar | ||
paddingRight | Type: Number The minimum space, in pixels, between the tab bar's right edge and the tabs. In the following example, the padding on the right edge of the tab bar is set to 20 pixels:
tabs.paddingRight = 20;
The default value is 0 .See also | TabBar | ||
paddingTop | Type: Number The minimum space, in pixels, between the tab bar's top edge and the tabs. In the following example, the padding on the top edge of the tab bar is set to 20 pixels:
tabs.paddingTop = 20;
The default value is 0 .See also | TabBar | ||
selectionChangeDuration | Type: Number The time, in seconds, of the animation that changes the position and size of the selectionSkin skin when the selected
tab changes.
The following example customizes the duration to 500ms:
tabs.selectionChangeDuration = 0.5;
The default value is 0.25 .See also | TabBar | ||
selectionChangeEase | Type: Object The easing function used for moving and resizing the selectionSkin when the selected tab changes.
In the following example, the ease of the animation that moves
the
tabs.selectionChangeEase = Transitions.EASE_IN_OUT;
The default value is starling.animation.Transitions.EASE_OUT .See also | TabBar | ||
selectionSkin | Type: starling.display.DisplayObject A skin displayed over the selected tab. Its position is animated when the selection changes. The following example passes the tab bar a selection skin:
var skin:Image = new Image(texture)
skin.scale9Grid = new Rectangle(1, 2, 4, 4);
tabs.selectionSkin = skin;
The default value is null .See also | TabBar | ||
verticalAlign | Type: String Determines how the tabs are vertically aligned within the bounds of the tab bar (on the y-axis). The following example aligns the tabs to the top:
tabs.verticalAlign = VerticalAlign.TOP;
The default value is feathers.layout.VerticalAlign.JUSTIFY .See also | TabBar |
Constant | Defined By | ||
---|---|---|---|
DEFAULT_CHILD_STYLE_NAME_TAB : String = feathers-tab-bar-tab [static]
The default value added to the styleNameList of the tabs. | TabBar | ||
![]() | INVALIDATION_FLAG_ALL : String = all [static]
Flag to indicate that everything is invalid and should be redrawn. | FeathersControl | |
![]() | INVALIDATION_FLAG_DATA : String = data [static]
Invalidation flag to indicate that the primary data displayed by the
UI control has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_FOCUS : String = focus [static]
Invalidation flag to indicate that the focus of the UI control has
changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_LAYOUT : String = layout [static]
Invalidation flag to indicate that the layout of the UI control has
changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SCROLL : String = scroll [static]
Invalidation flag to indicate that the scroll position of the UI
control has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SELECTED : String = selected [static]
Invalidation flag to indicate that the selection of the UI control
has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SIZE : String = size [static]
Invalidation flag to indicate that the dimensions of the UI control
have changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SKIN : String = skin [static]
Invalidation flag to indicate that the skin of the UI control has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_STATE : String = state [static]
Invalidation flag to indicate that the state has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_STYLES : String = styles [static]
Invalidation flag to indicate that the styles or visual appearance of
the UI control has changed. | FeathersControl |
baseline | property |
baseline:Number
[read-only] Returns the text baseline measurement, in pixels.
public function get baseline():Number
dataProvider | property |
dataProvider:IListCollection
The collection of data to be displayed with tabs. The default tab initializer interprets this data to customize the tabs with various fields available to buttons, including the following:
The following example passes in a data provider:
list.dataProvider = new ArrayCollection( [ { label: "General", defaultIcon: new Image( generalTexture ) }, { label: "Security", defaultIcon: new Image( securityTexture ) }, { label: "Advanced", defaultIcon: new Image( advancedTexture ) }, ]);
The default value is null
.
public function get dataProvider():IListCollection
public function set dataProvider(value:IListCollection):void
See also
dragEnabled | property |
dragEnabled:Boolean
Indicates if this tab bar can initiate drag and drop operations by
touching an item and dragging it. The dragEnabled
property enables dragging items, but dropping items must be enabled
separately with the dropEnabled
property.
In the following example, a tab bar's items may be dragged:
tabs.dragEnabled = true;
public function get dragEnabled():Boolean
public function set dragEnabled(value:Boolean):void
See also
dragFormat | property |
dragFormat:String
Drag and drop is restricted to components that have the same
dragFormat
.
In the following example, the drag format of two tab bars is customized:
tabs1.dragFormat = "my-custom-format"; tabs2.dragFormat = "my-custom-format";
The default value is "feathers-tab-bar-item"
.
public function get dragFormat():String
public function set dragFormat(value:String):void
dropEnabled | property |
dropEnabled:Boolean
Indicates if this tab bar can accept items that are dragged and dropped over the tab bar's hit area.
In the following example, a tab bar's items may be dropped:
tabs.dropEnabled = true;
public function get dropEnabled():Boolean
public function set dropEnabled(value:Boolean):void
See also
enabledField | property |
enabledField:String
The field in the item that determines if the tab is enabled. If the
item does not have this field, and a enabledFunction
is
not defined, then the tab will default to being enabled, unless the
tab bar is not enabled. All tabs will always be disabled if the tab
bar is disabled.
All of the label fields and functions, ordered by priority:
enabledFunction
enabledField
In the following example, the enabled field is customized:
tabs.enabledField = "isEnabled";
The default value is "enabled"
.
public function get enabledField():String
public function set enabledField(value:String):void
See also
enabledFunction | property |
enabledFunction:Function
A function used to determine if a specific tab is enabled. If this
function is not null
, then the enabledField
will be ignored.
The function is expected to have the following signature:
function( item:Object ):Boolean
All of the enabled fields and functions, ordered by priority:
enabledFunction
enabledField
In the following example, the enabled function is customized:
tabs.enabledFunction = function( item:Object ):Boolean { return item.isEnabled; };
The default value is null
.
public function get enabledFunction():Function
public function set enabledFunction(value:Function):void
See also
firstTabFactory | property |
firstTabFactory:Function
If not null
, creates the first tab. If the
firstTabFactory
is null
, then the tab bar
will use the tabFactory
. The first tab must be an
instance of ToggleButton
. This factory can be used to
change properties on the first tab when it is initially 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 first
tab.
This function is expected to have the following signature:
function():ToggleButton
In the following example, a custom first tab factory is passed to the tab bar:
tabs.firstTabFactory = function():ToggleButton { var tab:ToggleButton = new ToggleButton(); tab.defaultSkin = new Image( upTexture ); tab.defaultSelectedSkin = new Image( selectedTexture ); tab.downSkin = new Image( downTexture ); return tab; };
The default value is null
.
public function get firstTabFactory():Function
public function set firstTabFactory(value:Function):void
See also
firstTabStyleName | property |
protected var firstTabStyleName:String = feathers-tab-bar-tab
The value added to the styleNameList
of the first tab.
This variable is protected
so that sub-classes can
customize the first tab style name in their constructors instead of
using the default style name defined by
DEFAULT_CHILD_STYLE_NAME_TAB
.
To customize the first tab name without subclassing, see
customFirstTabStyleName
.
See also
globalStyleProvider | property |
public static var globalStyleProvider:IStyleProvider
The default IStyleProvider
for all TabBar
components.
The default value is null
.
See also
iconField | property |
iconField:String
The field in the item that contains a display object to be displayed as an icon or other graphic next to the label in the tab.
Warning: It is your responsibility to dispose all icons
included in the data provider and accessed with iconField
,
or any display objects returned by iconFunction
.
These display objects will not be disposed when the list is disposed.
Not disposing an icon may result in a memory leak.
All of the icon fields and functions, ordered by priority:
iconFunction
iconField
In the following example, the icon field is customized:
tabs.iconField = "photo";
The default value is "icon"
.
public function get iconField():String
public function set iconField(value:String):void
See also
iconFunction | property |
iconFunction:Function
A function used to generate an icon for a specific tab, based on its associated item in the data provider.
Note: This function may be called more than once for each individual item in the tab bar's data provider. The function should not simply return a new icon every time. This will result in the unnecessary creation and destruction of many icons, which will overwork the garbage collector, hurt performance, and possibly lead to memory leaks. It's better to return a new icon the first time this function is called for a particular item and then return the same icon if that item is passed to this function again.
Warning: It is your responsibility to dispose all icons
included in the data provider and accessed with iconField
,
or any display objects returned by iconFunction
.
These display objects will not be disposed when the list is disposed.
Not disposing an icon may result in a memory leak.
The function is expected to have the following signature:
function( item:Object ):DisplayObject
All of the icon fields and functions, ordered by priority:
iconFunction
iconField
In the following example, the icon function is customized:
var cachedIcons:Dictionary = new Dictionary( true ); tabs.iconFunction = function( item:Object ):DisplayObject { if(item in cachedIcons) { return cachedIcons[item]; } var icon:Image = new Image( textureAtlas.getTexture( item.textureName ) ); cachedIcons[item] = icon; return icon; };
The default value is null
.
public function get iconFunction():Function
public function set iconFunction(value:Function):void
See also
labelField | property |
labelField:String
The field in the item that contains the label text to be displayed by
the tabs. If the item does not have this field, and a
labelFunction
is not defined, then the tabs will
default to calling toString()
on the item.
All of the label fields and functions, ordered by priority:
labelFunction
labelField
In the following example, the label field is customized:
tabs.labelField = "text";
The default value is "label"
.
public function get labelField():String
public function set labelField(value:String):void
See also
labelFunction | property |
labelFunction:Function
A function used to generate label text for a specific tab. If this
function is not null
, then the labelField
will be ignored.
The function is expected to have the following signature:
function( item:Object ):String
All of the label fields and functions, ordered by priority:
labelFunction
labelField
In the following example, the label function is customized:
tabs.labelFunction = function( item:Object ):String { return item.label + " (" + item.unread + ")"; };
The default value is null
.
public function get labelFunction():Function
public function set labelFunction(value:Function):void
See also
lastTabFactory | property |
lastTabFactory:Function
If not null
, creates the last tab. If the
lastTabFactory
is null
, then the tab bar
will use the tabFactory
. The last tab must be an
instance of ToggleButton
. This factory can be used to
change properties on the last tab when it is initially 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 last
tab.
This function is expected to have the following signature:
function():ToggleButton
In the following example, a custom last tab factory is passed to the tab bar:
tabs.lastTabFactory = function():ToggleButton { var tab:ToggleButton = new Button(); tab.defaultSkin = new Image( upTexture ); tab.defaultSelectedSkin = new Image( selectedTexture ); tab.downSkin = new Image( downTexture ); return tab; };
The default value is null
.
public function get lastTabFactory():Function
public function set lastTabFactory(value:Function):void
See also
lastTabStyleName | property |
protected var lastTabStyleName:String = feathers-tab-bar-tab
The value added to the styleNameList
of the last tab.
This variable is protected
so that sub-classes can
customize the last tab style name in their constructors instead of
using the default style name defined by
DEFAULT_CHILD_STYLE_NAME_TAB
.
To customize the last tab name without subclassing, see
customLastTabStyleName
.
See also
selectedIndex | property |
selectedIndex:int
The index of the currently selected tab. Returns -1 if no tab is selected.
In the following example, the tab bar's selected index is changed:
tabs.selectedIndex = 2;
The following example listens for when selection changes and requests the selected index:
function tabs_changeHandler( event:Event ):void { var tabs:TabBar = TabBar( event.currentTarget ); var index:int = tabs.selectedIndex; } tabs.addEventListener( Event.CHANGE, tabs_changeHandler );
The default value is -1
.
public function get selectedIndex():int
public function set selectedIndex(value:int):void
See also
selectedItem | property |
selectedItem:Object
The currently selected item from the data provider. Returns
null
if no item is selected.
In the following example, the tab bar's selected item is changed:
tabs.selectedItem = tabs.dataProvider.getItemAt(2);
The following example listens for when selection changes and requests the selected item:
function tabs_changeHandler( event:Event ):void { var tabs:TabBar = TabBar( event.currentTarget ); var item:Object = tabs.selectedItem; } tabs.addEventListener( Event.CHANGE, tabs_changeHandler );
The default value is null
.
public function get selectedItem():Object
public function set selectedItem(value:Object):void
See also
tabFactory | property |
tabFactory:Function
Creates each tab. A tab must be an instance of
ToggleButton
. This factory can be used to change
properties on the tabs when they are 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 a tab.
Optionally, the first tab and the last tab may be different than
the other tabs in the middle. Use the firstTabFactory
and/or the lastTabFactory
to customize one or both of
these tabs.
This function is expected to have the following signature:
function():ToggleButton
In the following example, a custom tab factory is passed to the tab bar:
tabs.tabFactory = function():ToggleButton { var tab:ToggleButton = new ToggleButton(); tab.defaultSkin = new Image( upTexture ); tab.defaultSelectedSkin = new Image( selectedTexture ); tab.downSkin = new Image( downTexture ); return tab; };
The default value is null
.
public function get tabFactory():Function
public function set tabFactory(value:Function):void
See also
tabInitializer | property |
tabInitializer:Function
Modifies the properties of an individual tab, using an item from the data provider. The default initializer will set the tab's label and icons. A custom tab initializer can be provided to update additional properties or to use different field names in the data provider.
This function is expected to have the following signature:
function( tab:ToggleButton, item:Object ):void
In the following example, a custom tab initializer is passed to the tab bar:
tabs.tabInitializer = function( tab:ToggleButton, item:Object ):void { tab.label = item.text; tab.defaultIcon = item.icon; };
public function get tabInitializer():Function
public function set tabInitializer(value:Function):void
See also
tabProperties | property |
tabProperties:Object
An object that stores properties for all of the tab bar's tabs, and
the properties will be passed down to every tab when the tab bar
validates. For a list of available properties, refer to
feathers.controls.ToggleButton
.
These properties are shared by every tab, so anything that cannot
be shared (such as display objects, which cannot be added to multiple
parents) should be passed to tabs using the tabFactory
or in the theme.
If the subcomponent has its own subcomponents, their properties
can be set too, using attribute @
notation. For example,
to set the skin on the thumb which is in a SimpleScrollBar
,
which is in a List
, you can use the following syntax:
list.verticalScrollBarProperties.@thumbProperties.defaultSkin = new Image(texture);
Setting properties in a tabFactory
function instead
of using tabProperties
will result in better
performance.
In the following example, the tab bar's tab properties are updated:
tabs.tabProperties.iconPosition = RelativePosition.RIGHT;
The default value is null
.
public function get tabProperties():Object
public function set tabProperties(value:Object):void
See also
tabReleaser | property |
tabReleaser:Function
Resets the properties of an individual tab, using the item from the data provider that was associated with the tab.
This function is expected to have one of the following signatures:
function( tab:ToggleButton ):void
function( tab:ToggleButton, oldItem:Object ):void
In the following example, a custom tab releaser is passed to the tab bar:
tabs.tabReleaser = function( tab:ToggleButton, oldItem:Object ):void { tab.label = null; tab.defaultIcon = null; };
public function get tabReleaser():Function
public function set tabReleaser(value:Function):void
See also
tabStyleName | property |
protected var tabStyleName:String = feathers-tab-bar-tab
The value added to the styleNameList
of the tabs. This
variable is protected
so that sub-classes can customize
the tab style name in their constructors instead of using the default
style name defined by DEFAULT_CHILD_STYLE_NAME_TAB
.
To customize the tab style name without subclassing, see
customTabStyleName
.
See also
toggleGroup | property |
protected var toggleGroup:ToggleGroup
The toggle group.
TabBar | () | Constructor |
public function TabBar()
Constructor.
addTabListeners | () | method |
dataProvider_sortChangeHandler | () | method |
setSelectedIndexWithAnimation | () | method |
public function setSelectedIndexWithAnimation(selectedIndex:int):void
Changes the selectedIndex
property, but animates the
selectionSkin
to the new position, as if the user
triggered a tab.
Parameters
selectedIndex:int |
See also
setSelectedItemWithAnimation | () | method |
public function setSelectedItemWithAnimation(selectedItem:Object):void
Changes the selectedItem
property, but animates the
selectionSkin
to the new position, as if the user
triggered a tab.
Parameters
selectedItem:Object |
See also
change | Event |
starling.events.Event
starling.events.Event.CHANGE
Dispatched when the selected tab changes.
The properties of the event object have the following values:
Property | Value |
---|---|
bubbles | false |
currentTarget | The 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 . |
data | null |
target | The 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. |
See also
triggered | Event |
starling.events.Event
starling.events.Event.TRIGGERED
Dispatched when one of the tabs is triggered. The data
property of the event contains the item from the data provider that is
associated with the tab that was triggered.
The following example listens to Event.TRIGGERED
on the
tab bar:
tabs.dataProvider = new ArrayCollection( [ { label: "1" }, { label: "2" }, { label: "3" }, ]); tabs.addEventListener( Event.TRIGGERED, function( event:Event, data:Object ):void { trace( "The tab with label \"" + data.label + "\" was triggered." ); }
The properties of the event object have the following values:
Property | Value |
---|---|
bubbles | false |
currentTarget | The 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 . |
data | The item associated with the tab that was triggered. |
target | The 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. |
DEFAULT_CHILD_STYLE_NAME_TAB | Constant |
public static const DEFAULT_CHILD_STYLE_NAME_TAB:String = feathers-tab-bar-tab
The default value added to the styleNameList
of the tabs.
See also