| Package | feathers.controls | 
| Class | public class Button | 
| Inheritance | Button    BasicButton   FeathersControl   starling.display.Sprite | 
| Implements | IFocusDisplayObject, ITextBaselineControl | 
| Subclasses | ToggleButton | 
| Product Version : | Feathers 1.0.0 | 
The following example creates a button, gives it a label and listens for when the button is triggered:
var button:Button = new Button(); button.label = "Click Me"; button.addEventListener( Event.TRIGGERED, button_triggeredHandler ); this.addChild( button );
See also
| Property | Defined By | ||
|---|---|---|---|
![]()  | addedEffect : Function 
		 An optional effect that is activated when the component is added to
		 the stage.  | FeathersControl | |
| baseline : Number [read-only] 
		 
		 Returns the text baseline measurement, in pixels.  | Button | ||
![]()  | currentState : String [read-only] 
		 The current state of the button.  | BasicButton | |
| defaultLabelProperties : Object 
		 An object that stores properties for the button's label text renderer
		 when no specific properties are defined for the button's current
		 state, and the properties will be passed down to the label text
		 renderer when the button validates.  | Button | ||
![]()  | 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 | |
![]()  | effectsSuspended : Boolean [read-only] 
		 Indicates if effects have been suspended.  | FeathersControl | |
![]()  | 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 | |
![]()  | 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 Button
		 components.  | Button | ||
![]()  | 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 | |
![]()  | includeInLayout : Boolean 
		 
		 Determines if the ILayout should use this object or ignore it.  | FeathersControl | |
![]()  | 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 | |
| isLongPressEnabled : Boolean 
		 Determines if FeathersEventType.LONG_PRESS will be
		 dispatched.  | Button | ||
![]()  | 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 | |
| label : String 
		 The text displayed on the button.  | Button | ||
| labelFactory : Function 
		 A function used to instantiate the button's label text renderer
		 sub-component.  | Button | ||
![]()  | layoutData : ILayoutData 
		 
		 Extra parameters associated with this display object that will be
		 used by the layout algorithm.  | FeathersControl | |
| longPressDuration : Number 
		 The duration, in seconds, of a long press.  | Button | ||
![]()  | 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 | |
![]()  | 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 | |
![]()  | 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 | |
| numLines : int [read-only] 
		 The number of text lines displayed by the button.  | Button | ||
![]()  | 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 | |
![]()  | resizeEffect : Function 
		 An optional effect that is activated when the component is resized
		 with new dimensions.  | FeathersControl | |
![]()  | showEffect : Function 
		 An optional effect that is activated when the component is shown.  | FeathersControl | |
![]()  | 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 | |
![]()  | toolTip : String 
		 Text to display in a tool tip to when hovering over this component,
		 if the ToolTipManager is enabled.  | FeathersControl | |
![]()  | width : Number [override] 
		 The width of the component, in pixels.  | FeathersControl | |
| 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 | |
| currentIcon : DisplayObject 
		 The currently visible icon.  | Button | ||
![]()  | currentSkin : DisplayObject 
		 The currently visible skin.  | BasicButton | |
![]()  | defaultStyleProvider : IStyleProvider [read-only] 
		 When the FeathersControl constructor is called, the
		 styleProvider property is set to this value.  | FeathersControl | |
| labelStyleName : String = "feathers-button-label" 
		 The value added to the styleNameList of the label text
		 renderer.  | Button | ||
| labelTextRenderer : ITextRenderer 
		 The text renderer for the button's label.  | Button | ||
| Method | Defined By | ||
|---|---|---|---|
Button() 
		 Constructor.  | Button | ||
![]()  | 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 | |
getFontStylesForState(state:String):TextFormat 
		 Gets the font styles to be used to display the button's text when the
		 button's currentState property matches the specified
		 state value.  | Button | ||
getIconForState(state:String):DisplayObject 
		 Gets the icon to be used by the button when the button's
		 currentState property matches the specified state value.  | Button | ||
getScaleForState(state:String):Number 
		 Gets the scale to be used by the button when the button's
		 currentState property matches the specified state value.  | Button | ||
![]()  | getSkinForState(state:String):DisplayObject 
		 Gets the skin to be used by the button when its
		 currentState property matches the specified state value.  | BasicButton | |
![]()  | hideFocus():void 
		 The implementation of this method is provided for convenience, but
		 it cannot be used unless a subclass implements the
		 IFocusDisplayObject interface.
		 		   | FeathersControl | |
![]()  | 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 | |
![]()  | move(x:Number, y:Number):void 
		 Sets both the x and the y positions of the control in a single
		 function call.  | FeathersControl | |
![]()  | removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void 
		 Plays an effect before removing the component from its parent.  | FeathersControl | |
![]()  | 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 | |
setFontStylesForState(state:String, format:TextFormat):void 
		 Sets the font styles to be used to display the button's text when the
		 button's currentState property matches the specified
		 state value.  | Button | ||
setIconForState(state:String, icon:DisplayObject):void 
		 Sets the icon to be used by the button when the button's
		 currentState property matches the specified state value.  | Button | ||
setScaleForState(state:String, scale:Number):void 
		 Sets the scale to be used by the button when the button's
		 currentState property matches the specified state value.  | Button | ||
![]()  | setSize(width:Number, height:Number):void 
		 Sets both the width and the height of the control in a single
		 function call.  | FeathersControl | |
![]()  | setSkinForState(state:String, skin:DisplayObject):void 
		 Sets the skin to be used by the button when its
		 currentState property matches the specified state value.  | BasicButton | |
![]()  | showFocus():void 
		 The implementation of this method is provided for convenience, but
		 it cannot be used unless a subclass implements the
		 IFocusDisplayObject interface.
		 		   | FeathersControl | |
![]()  | suspendEffects():void 
		 Indicates that effects should not be activated temporarily.  | FeathersControl | |
![]()  | validate():void 
		 Immediately validates the display object, if it is invalid.  | FeathersControl | |
| Method | Defined By | ||
|---|---|---|---|
![]()  | autoSizeIfNeeded():Boolean 
		 If the component's dimensions have not been set explicitly, it will
		 measure its content and determine an ideal size for itself.  | BasicButton | |
![]()  | clearInvalidationFlag(flag:String):void 
		 Clears an invalidation flag.  | FeathersControl | |
createLabel():void 
		 Creates the label text renderer sub-component and
		 removes the old instance, if one exists.  | Button | ||
![]()  | 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 | |
layoutContent():void 
		 Positions and sizes the button's content.  | Button | ||
![]()  | 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 | |
refreshIcon():void 
		 Sets the currentIcon property.  | Button | ||
![]()  | refreshSkin():void 
		 Sets the currentSkin property.  | BasicButton | |
![]()  | 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 after the component has validated for the first time. | FeathersControl | ||
![]()  | Dispatched after initialize() has been called, but before the first time that draw() has been called. | FeathersControl | ||
| Dispatched when the button is pressed for a long time. | Button | |||
![]()  | Dispatched when the width or height of the control changes. | FeathersControl | ||
![]()  | Dispatched when the display object's state changes. | BasicButton | ||
![]()  | Dispatched when the the user taps or clicks the button. | BasicButton | ||
| Style | Defined By | ||
|---|---|---|---|
customLabelStyleName : String A style name to add to the button's label text renderer sub-component.  | Button | ||
defaultIcon : DisplayObject The icon used when no other icon is defined for the current state.  | Button | ||
![]()  | defaultSkin : DisplayObject The skin used when no other skin is defined for the current state.  | BasicButton | |
disabledFontStyles : TextFormat The font styles used to display the button's text when the button is disabled.  | Button | ||
disabledIcon : DisplayObject The icon used for the button's disabled state.  | Button | ||
![]()  | disabledSkin : DisplayObject The skin used for the button's disabled state.  | BasicButton | |
downIcon : DisplayObject The icon used for the button's down state.  | Button | ||
![]()  | downSkin : DisplayObject The skin used for the button's down state.  | BasicButton | |
![]()  | focusIndicatorSkin : DisplayObject If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.  | FeathersControl | |
![]()  | focusPadding : Number Quickly sets all focus padding properties to the same value.  | FeathersControl | |
![]()  | focusPaddingBottom : Number The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.  | FeathersControl | |
![]()  | focusPaddingLeft : Number The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.  | FeathersControl | |
![]()  | focusPaddingRight : Number The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.  | FeathersControl | |
![]()  | focusPaddingTop : Number The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.  | FeathersControl | |
fontStyles : TextFormat The font styles used to display the button's text.  | Button | ||
gap : Number The space, in pixels, between the icon and the label.  | Button | ||
hasLabelTextRenderer : Boolean Determines if the button's label text renderer is created or not.  | Button | ||
horizontalAlign : String The location where the button's content is aligned horizontally (on the x-axis).  | Button | ||
hoverIcon : DisplayObject The icon used for the button's hover state.  | Button | ||
![]()  | hoverSkin : DisplayObject The skin used for the button's hover state.  | BasicButton | |
iconOffsetX : Number Offsets the x position of the icon by a certain number of pixels.  | Button | ||
iconOffsetY : Number Offsets the y position of the icon by a certain number of pixels.  | Button | ||
iconPosition : String The location of the icon, relative to the label.  | Button | ||
![]()  | keepDownStateOnRollOut : Boolean Determines if a pressed button should remain in the down state if a touch moves outside of the button's bounds.  | BasicButton | |
labelOffsetX : Number Offsets the x position of the label by a certain number of pixels.  | Button | ||
labelOffsetY : Number Offsets the y position of the label by a certain number of pixels.  | Button | ||
minGap : Number If the value of the gap property is Number.POSITIVE_INFINITY, meaning that the gap will fill as much space as possible, the final calculated value will not be smaller than the value of the minGap property.  | Button | ||
padding : Number Quickly sets all padding properties to the same value.  | Button | ||
paddingBottom : Number The minimum space, in pixels, between the button's bottom edge and the button's content.  | Button | ||
paddingLeft : Number The minimum space, in pixels, between the button's left edge and the button's content.  | Button | ||
paddingRight : Number The minimum space, in pixels, between the button's right edge and the button's content.  | Button | ||
paddingTop : Number The minimum space, in pixels, between the button's top edge and the button's content.  | Button | ||
scaleWhenDown : Number The button renders at this scale in the down state.  | Button | ||
scaleWhenHovering : Number The button renders at this scale in the hover state.  | Button | ||
upIcon : DisplayObject The icon used for the button's up state.  | Button | ||
![]()  | upSkin : DisplayObject The skin used for the button's up state.  | BasicButton | |
verticalAlign : String The location where the button's content is aligned vertically (on the y-axis).  | Button | ||
wordWrap : Boolean Determines if the text wraps to the next line when it reaches the width (or max width) of the component.  | Button | ||
| Constant | Defined By | ||
|---|---|---|---|
| ALTERNATE_STYLE_NAME_BACK_BUTTON : String = "feathers-back-button" [static] 
		 An alternate style name to use with Button to allow a
		 theme to give it a "back button" style, perhaps with an arrow
		 pointing backward.  | Button | ||
| ALTERNATE_STYLE_NAME_CALL_TO_ACTION_BUTTON : String = "feathers-call-to-action-button" [static] 
		 An alternate style name to use with Button to allow a
		 theme to give it a more prominent, "call-to-action" style.  | Button | ||
| ALTERNATE_STYLE_NAME_DANGER_BUTTON : String = "feathers-danger-button" [static] 
		 An alternate style name to use with Button to allow a
		 theme to give it a highly prominent, "danger" style.  | Button | ||
| ALTERNATE_STYLE_NAME_FORWARD_BUTTON : String = "feathers-forward-button" [static] 
		 An alternate style name to use with Button to allow a
		 theme to give it a "forward" button style, perhaps with an arrow
		 pointing forward.  | Button | ||
| ALTERNATE_STYLE_NAME_QUIET_BUTTON : String = "feathers-quiet-button" [static] 
		 An alternate style name to use with Button to allow a
		 theme to give it a less prominent, "quiet" style.  | Button | ||
| DEFAULT_CHILD_STYLE_NAME_LABEL : String = "feathers-button-label" [static] 
		 The default value added to the styleNameList of the
		 label text renderer.  | Button | ||
![]()  | 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| currentIcon | property | 
protected var currentIcon:DisplayObject
		 The currently visible icon. The value will be null if
		 there is no currently visible icon.
		 		 
For internal use in subclasses.
| defaultLabelProperties | property | 
defaultLabelProperties:Object
		 An object that stores properties for the button's label text renderer
		 when no specific properties are defined for the button's current
		 state, and the properties will be passed down to the label text
		 renderer when the button validates. The available properties depend
		 on which ITextRenderer implementation is returned by
		 labelFactory. Refer to
		 feathers.core.ITextRenderer
		 for a list of available text renderer implementations.
		 		 
The following example gives the button default label properties to
		 use for all states when no specific label properties are available
		 (this example assumes that the label text renderer is a
		 BitmapFontTextRenderer):
button.defaultLabelProperties.textFormat = new BitmapFontTextFormat( bitmapFont ); button.defaultLabelProperties.wordWrap = true;
 The default value is null.
    public function get defaultLabelProperties():Object    public function set defaultLabelProperties(value:Object):voidSee also
| globalStyleProvider | property | 
public static var globalStyleProvider:IStyleProvider
		 The default IStyleProvider for all Button
		 components.
		 		 
 The default value is null.
See also
| isLongPressEnabled | property | 
isLongPressEnabled:Boolean
		 Determines if FeathersEventType.LONG_PRESS will be
		 dispatched.
		 		 
The following example enables long presses:
button.isLongPressEnabled = true;
button.addEventListener( FeathersEventType.LONG_PRESS, function( event:Event ):void
{
    // long press
}); The default value is false.
    public function get isLongPressEnabled():Boolean    public function set isLongPressEnabled(value:Boolean):voidSee also
| label | property | 
label:StringThe text displayed on the button.
The following example gives the button some label text:
button.label = "Click Me";
 The default value is null.
    public function get label():String    public function set label(value:String):void| labelFactory | property | 
labelFactory:Function
		 A function used to instantiate the button's label text renderer
		 sub-component. By default, the button will use the global text
		 renderer factory, FeathersControl.defaultTextRendererFactory(),
		 to create the label text renderer. The label text renderer must be an
		 instance of ITextRenderer. To change properties on the
		 label text renderer, see defaultLabelProperties and the
		 other "LabelProperties" properties for each button
		 state.
		 		 
The factory should have the following function signature:
function():ITextRenderer
The following example gives the button a custom factory for the label text renderer:
button.labelFactory = function():ITextRenderer
{
    return new TextFieldTextRenderer();
} The default value is null.
    public function get labelFactory():Function    public function set labelFactory(value:Function):voidSee also
| labelStyleName | property | 
protected var labelStyleName:String = "feathers-button-label"
		 The value added to the styleNameList of the label text
		 renderer. This variable is protected so that sub-classes
		 can customize the label text renderer style name in their
		 constructors instead of using the default style name defined by
		 DEFAULT_CHILD_STYLE_NAME_LABEL.
		 		 
To customize the label text renderer style name without
		 subclassing, see customLabelStyleName.
See also
| labelTextRenderer | property | 
protected var labelTextRenderer:ITextRendererThe text renderer for the button's label.
For internal use in subclasses.
See also
| longPressDuration | property | 
longPressDuration:NumberThe duration, in seconds, of a long press.
The following example changes the long press duration to one full second:
button.longPressDuration = 1.0;
 The default value is 0.5.
    public function get longPressDuration():Number    public function set longPressDuration(value:Number):voidSee also
| numLines | property | 
numLines:int  [read-only] 
		 The number of text lines displayed by the button. The component may
		 contain multiple text lines if the text contains line breaks or if
		 the wordWrap property is enabled.
		 		 
    public function get numLines():intSee also
| Button | () | Constructor | 
public function Button()Constructor.
| createLabel | () | method | 
 protected function createLabel():voidCreates the label text renderer 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
| getFontStylesForState | () | method | 
 public function getFontStylesForState(state:String):TextFormat
		 Gets the font styles to be used to display the button's text when the
		 button's currentState property matches the specified
		 state value.
		 		 
If font styles are not defined for a specific state, returns
		 null.
Parameters
state:String | 
TextFormat | 
See also
| getIconForState | () | method | 
 public function getIconForState(state:String):DisplayObject
		 Gets the icon to be used by the button when the button's
		 currentState property matches the specified state value.
		 		 
If a icon is not defined for a specific state, returns
		 null.
Parameters
state:String | 
DisplayObject | 
See also
| getScaleForState | () | method | 
 public function getScaleForState(state:String):Number
		 Gets the scale to be used by the button when the button's
		 currentState property matches the specified state value.
		 		 
If a scale is not defined for a specific state, returns
		 NaN.
Parameters
state:String | 
Number | 
See also
| layoutContent | () | method | 
 protected function layoutContent():voidPositions and sizes the button's content.
For internal use in subclasses.
| refreshIcon | () | method | 
 protected function refreshIcon():void
		 Sets the currentIcon property.
		 		 
For internal use in subclasses.
| setFontStylesForState | () | method | 
 public function setFontStylesForState(state:String, format:TextFormat):void
		 Sets the font styles to be used to display the button's text when the
		 button's currentState property matches the specified
		 state value.
		 		 
If font styles are not defined for a specific state, the value of
		 the fontStyles property will be used instead.
Note: if the text renderer has been customized with advanced font
		 formatting, it may override the values specified with
		 setFontStylesForState() and properties like
		 fontStyles and disabledFontStyles.
Parameters
state:String | |
format:TextFormat | 
See also
| setIconForState | () | method | 
 public function setIconForState(state:String, icon:DisplayObject):void
		 Sets the icon to be used by the button when the button's
		 currentState property matches the specified state value.
		 		 
If an icon is not defined for a specific state, the value of the
		 defaultIcon property will be used instead.
Parameters
state:String | |
icon:DisplayObject | 
See also
| setScaleForState | () | method | 
 public function setScaleForState(state:String, scale:Number):void
		 Sets the scale to be used by the button when the button's
		 currentState property matches the specified state value.
		 		 
If an icon is not defined for a specific state, the value of the
		 defaultIcon property will be used instead.
Parameters
state:String | |
scale:Number | 
See also
| longPress | Event | 
starling.events.Eventfeathers.events.FeathersEventType.LONG_PRESS
	 Dispatched when the button is pressed for a long time. The property
	 isLongPressEnabled must be set to true before
	 this event will be dispatched.
	 	 
The following example enables long presses:
button.isLongPressEnabled = true;
button.addEventListener( FeathersEventType.LONG_PRESS, function( event:Event ):void
{
    // long press
});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. | 
FeathersEventType.LONG_PRESS event type is used by
		 the Feathers Button when it is pressed for a long time.
		 		 See also
| wordWrap | style | 
wordWrap:BooleanDetermines if the text wraps to the next line when it reaches the width (or max width) of the component.
In the following example, the button's text is wrapped:
button.wordWrap = true;
 The default value is false.
| verticalAlign | style | 
verticalAlign:StringThe location where the button's content is aligned vertically (on the y-axis).
The following example aligns the button's content to the top:
button.verticalAlign = VerticalAlign.TOP;
Note: The VerticalAlign.JUSTIFY
	 constant is not supported.
 The default value is feathers.layout.VerticalAlign.MIDDLE.
See also
| upIcon | style | 
upIcon:DisplayObject
	 The icon used for the button's up state. If null, then
	 defaultIcon is used instead.
	 	 
This property will be ignored if a function is passed to the
	 stateToIconFunction property.
The following example gives the button an icon for the up state:
button.upIcon = new Image( texture );
Alternatively, you may use setIconForState() with
	 ButtonState.UP to set the same icon:
var icon:Image = new Image( texture ); button.setIconForState( ButtonState.UP, icon );
 The default value is null.
See also
| scaleWhenHovering | style | 
scaleWhenHovering:NumberThe button renders at this scale in the hover state.
The following example scales the button in the hover state:
button.scaleWhenHovering = 0.9;
 The default value is 1.
See also
| scaleWhenDown | style | 
scaleWhenDown:NumberThe button renders at this scale in the down state.
The following example scales the button in the down state:
button.scaleWhenDown = 0.9;
 The default value is 1.
See also
| paddingLeft | style | 
paddingLeft:NumberThe minimum space, in pixels, between the button's left edge and the button's content.
The following example gives the button 20 pixels of padding on the left edge only:
button.paddingLeft = 20;
 The default value is 0.
See also
| paddingBottom | style | 
paddingBottom:NumberThe minimum space, in pixels, between the button's bottom edge and the button's content.
The following example gives the button 20 pixels of padding on the bottom edge only:
button.paddingBottom = 20;
 The default value is 0.
See also
| paddingRight | style | 
paddingRight:NumberThe minimum space, in pixels, between the button's right edge and the button's content.
The following example gives the button 20 pixels of padding on the right edge only:
button.paddingRight = 20;
 The default value is 0.
See also
| paddingTop | style | 
paddingTop:NumberThe minimum space, in pixels, between the button's top edge and the button's content.
The following example gives the button 20 pixels of padding on the top edge only:
button.paddingTop = 20;
 The default value is 0.
See also
| padding | style | 
padding: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.
	 	 
The following example gives the button 20 pixels of padding on all sides:
button.padding = 20;
 The default value is 0.
See also
| minGap | style | 
minGap:Number
	 If the value of the gap property is
	 Number.POSITIVE_INFINITY, meaning that the gap will
	 fill as much space as possible, the final calculated value will not be
	 smaller than the value of the minGap property.
	 	 
The following example ensures that the gap is never smaller than 20 pixels:
button.gap = Number.POSITIVE_INFINITY; button.minGap = 20;
 The default value is 0.
See also
| labelOffsetY | style | 
labelOffsetY:NumberOffsets the y position of the label by a certain number of pixels. This does not affect the measurement of the button. The button will measure itself as if the label were not offset from its original position.
The following example offsets the y position of the button's label by 20 pixels:
button.labelOffsetY = 20;
 The default value is 0.
See also
| labelOffsetX | style | 
labelOffsetX:NumberOffsets the x position of the label by a certain number of pixels. This does not affect the measurement of the button. The button will measure itself as if the label were not offset from its original position.
The following example offsets the x position of the button's label by 20 pixels:
button.labelOffsetX = 20;
 The default value is 0.
See also
| iconPosition | style | 
iconPosition:StringThe location of the icon, relative to the label.
The following example positions the icon to the right of the label:
button.label = "Click Me"; button.defaultIcon = new Image( texture ); button.iconPosition = RelativePosition.RIGHT;
 The default value is feathers.layout.RelativePosition.LEFT.
See also
| iconOffsetY | style | 
iconOffsetY:NumberOffsets the y position of the icon by a certain number of pixels. This does not affect the measurement of the button. The button will measure itself as if the icon were not offset from its original position.
The following example offsets the y position of the button's icon by 20 pixels:
button.iconOffsetY = 20;
 The default value is 0.
See also
| iconOffsetX | style | 
iconOffsetX:NumberOffsets the x position of the icon by a certain number of pixels. This does not affect the measurement of the button. The button will measure itself as if the icon were not offset from its original position.
The following example offsets the x position of the button's icon by 20 pixels:
button.iconOffsetX = 20;
 The default value is 0.
See also
| hoverIcon | style | 
hoverIcon:DisplayObject
	 The icon used for the button's hover state. If null, then
	 defaultIcon is used instead.
	 	 
This property will be ignored if a function is passed to the
	 stateToIconFunction property.
The following example gives the button an icon for the hover state:
button.hoverIcon = new Image( texture );
Alternatively, you may use setIconForState() with
	 ButtonState.HOVER to set the same icon:
var icon:Image = new Image( texture ); button.setIconForState( ButtonState.HOVER, icon );
 The default value is null.
See also
| horizontalAlign | style | 
horizontalAlign:StringThe location where the button's content is aligned horizontally (on the x-axis).
The following example aligns the button's content to the left:
button.horizontalAlign = HorizontalAlign.LEFT;
Note: The HorizontalAlign.JUSTIFY
	 constant is not supported.
 The default value is feathers.layout.HorizontalAlign.CENTER.
See also
| hasLabelTextRenderer | style | 
hasLabelTextRenderer:BooleanDetermines if the button's label text renderer is created or not. Useful for button sub-components that may not display text, like slider thumbs and tracks, or similar sub-components on scroll bars.
The following example removed the label text renderer:
button.hasLabelTextRenderer = false;
 The default value is true.
| gap | style | 
gap:Number
	 The space, in pixels, between the icon and the label. Applies to
	 either horizontal or vertical spacing, depending on the value of
	 iconPosition.
	 	 
If gap is set to Number.POSITIVE_INFINITY,
	 the label and icon will be positioned as far apart as possible. In
	 other words, they will be positioned at the edges of the button,
	 adjusted for padding.
The following example creates a gap of 50 pixels between the label and the icon:
button.label = "Click Me"; button.defaultIcon = new Image( texture ); button.gap = 50;
 The default value is 0.
See also
| fontStyles | style | 
fontStyles:TextFormatThe font styles used to display the button's text.
In the following example, the font styles are customized:
button.fontStyles = new TextFormat( "Helvetica", 20, 0xcc0000 );
Note: The starling.text.TextFormat class defines a
	 number of common font styles, but the text renderer being used may
	 support a larger number of ways to be customized. Use the
	 labelFactory to set more advanced styles.
 The default value is null.
See also
| downIcon | style | 
downIcon:DisplayObject
	 The icon used for the button's down state. If null, then
	 defaultIcon is used instead.
	 	 
This property will be ignored if a function is passed to the
	 stateToIconFunction property.
The following example gives the button an icon for the down state:
button.downIcon = new Image( texture );
Alternatively, you may use setIconForState() with
	 ButtonState.DOWN to set the same icon:
var icon:Image = new Image( texture ); button.setIconForState( ButtonState.DOWN, icon );
 The default value is null.
See also
| disabledIcon | style | 
disabledIcon:DisplayObject
	 The icon used for the button's disabled state. If null, then
	 defaultIcon is used instead.
	 	 
This property will be ignored if a function is passed to the
	 stateToIconFunction property.
The following example gives the button an icon for the disabled state:
button.disabledIcon = new Image( texture );
Alternatively, you may use setIconForState() with
	 ButtonState.DISABLED to set the same icon:
var icon:Image = new Image( texture ); button.setIconForState( ButtonState.DISABLED, icon );
 The default value is null.
See also
| disabledFontStyles | style | 
disabledFontStyles:TextFormatThe font styles used to display the button's text when the button is disabled.
In the following example, the disabled font styles are customized:
button.disabledFontStyles = new TextFormat( "Helvetica", 20, 0x999999 );
Alternatively, you may use setFontStylesForState() with
	 ButtonState.DISABLED to set the same font styles:
var fontStyles:TextFormat = new TextFormat( "Helvetica", 20, 0x999999 ); button.setFontStylesForState( ButtonState.DISABLED, fontStyles );
Note: The starling.text.TextFormat class defines a
	 number of common font styles, but the text renderer being used may
	 support a larger number of ways to be customized. Use the
	 labelFactory to set more advanced styles on the
	 text renderer.
 The default value is null.
See also
| defaultIcon | style | 
defaultIcon:DisplayObjectThe icon used when no other icon is defined for the current state. Intended to be used when multiple states should share the same icon.
This property will be ignored if a function is passed to the
	 stateToIconFunction property.
The following example gives the button a default icon to use for all states when no specific icon is available:
button.defaultIcon = new Image( texture );
 The default value is null.
See also
| customLabelStyleName | style | 
customLabelStyleName:StringA style name to add to the button's label text renderer sub-component. Typically used by a theme to provide different styles to different buttons.
In the following example, a custom label style name is passed to the button:
button.customLabelStyleName = "my-custom-button-label";
In your theme, you can target this sub-component style name to provide different styles than the default:
getStyleProviderForClass( BitmapFontTextRenderer ).setFunctionForStyleName( "my-custom-button-label", setCustomButtonLabelStyles );
 The default value is null.
See also
| ALTERNATE_STYLE_NAME_BACK_BUTTON | Constant | 
public static const ALTERNATE_STYLE_NAME_BACK_BUTTON:String = "feathers-back-button"
		 An alternate style name to use with Button to allow a
		 theme to give it a "back button" style, perhaps with an arrow
		 pointing backward. If a theme does not provide a style for a back
		 button, the theme will automatically fall back to using the default
		 button skin.
		 		 
An alternate style name should always be added to a component's
		 styleNameList before the component is initialized. If
		 the style name is added later, it will be ignored.
In the following example, the back button style is applied to a button:
var button:Button = new Button(); button.styleNameList.add( Button.ALTERNATE_STYLE_NAME_BACK_BUTTON ); this.addChild( button );
See also
| ALTERNATE_STYLE_NAME_CALL_TO_ACTION_BUTTON | Constant | 
public static const ALTERNATE_STYLE_NAME_CALL_TO_ACTION_BUTTON:String = "feathers-call-to-action-button"
		 An alternate style name to use with Button to allow a
		 theme to give it a more prominent, "call-to-action" style. If a theme
		 does not provide a style for a call-to-action button, the theme will
		 automatically fall back to using the default button style.
		 		 
An alternate style name should always be added to a component's
		 styleNameList before the component is initialized. If
		 the style name is added later, it will be ignored.
In the following example, the call-to-action style is applied to a button:
var button:Button = new Button(); button.styleNameList.add( Button.ALTERNATE_STYLE_NAME_CALL_TO_ACTION_BUTTON ); this.addChild( button );
See also
| ALTERNATE_STYLE_NAME_DANGER_BUTTON | Constant | 
public static const ALTERNATE_STYLE_NAME_DANGER_BUTTON:String = "feathers-danger-button"
		 An alternate style name to use with Button to allow a
		 theme to give it a highly prominent, "danger" style. An example would
		 be a delete button or some other button that has a destructive action
		 that cannot be undone if the button is triggered. If a theme does not
		 provide a style for the danger button, the theme will automatically
		 fall back to using the default button style.
		 		 
An alternate style name should always be added to a component's
		 styleNameList before the component is initialized. If
		 the style name is added later, it will be ignored.
In the following example, the danger button style is applied to a button:
var button:Button = new Button(); button.styleNameList.add( Button.ALTERNATE_STYLE_NAME_DANGER_BUTTON ); this.addChild( button );
See also
| ALTERNATE_STYLE_NAME_FORWARD_BUTTON | Constant | 
public static const ALTERNATE_STYLE_NAME_FORWARD_BUTTON:String = "feathers-forward-button"
		 An alternate style name to use with Button to allow a
		 theme to give it a "forward" button style, perhaps with an arrow
		 pointing forward. If a theme does not provide a style for a forward
		 button, the theme will automatically fall back to using the default
		 button style.
		 		 
An alternate style name should always be added to a component's
		 styleNameList before the component is initialized. If
		 the style name is added later, it will be ignored.
In the following example, the forward button style is applied to a button:
var button:Button = new Button(); button.styleNameList.add( Button.ALTERNATE_STYLE_NAME_FORWARD_BUTTON ); this.addChild( button );
See also
| ALTERNATE_STYLE_NAME_QUIET_BUTTON | Constant | 
public static const ALTERNATE_STYLE_NAME_QUIET_BUTTON:String = "feathers-quiet-button"
		 An alternate style name to use with Button to allow a
		 theme to give it a less prominent, "quiet" style. If a theme does not
		 provide a style for a quiet button, the theme will automatically fall
		 back to using the default button style.
		 		 
An alternate style name should always be added to a component's
		 styleNameList before the component is initialized. If
		 the style name is added later, it will be ignored.
In the following example, the quiet button style is applied to a button:
var button:Button = new Button(); button.styleNameList.add( Button.ALTERNATE_STYLE_NAME_QUIET_BUTTON ); this.addChild( button );
See also
| DEFAULT_CHILD_STYLE_NAME_LABEL | Constant | 
public static const DEFAULT_CHILD_STYLE_NAME_LABEL:String = "feathers-button-label"
		 The default value added to the styleNameList of the
		 label text renderer.
		 
		 
Note: the label text renderer is not a
		 feathers.controls.Label. It is an instance of one of the
		 ITextRenderer implementations.
See also