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):void
See 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):void
See also
label | property |
label:String
The 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):void
See 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:ITextRenderer
The text renderer for the button's label.
For internal use in subclasses.
See also
longPressDuration | property |
longPressDuration:Number
The 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):void
See 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():int
See also
Button | () | Constructor |
public function Button()
Constructor.
createLabel | () | method |
protected function createLabel():void
Creates 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():void
Positions 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.Event
feathers.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:Boolean
Determines 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:String
The 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:Number
The 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:Number
The 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:Number
The 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:Number
The 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:Number
The 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:Number
The 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:Number
Offsets 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:Number
Offsets 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:String
The 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:Number
Offsets 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:Number
Offsets 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:String
The 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:Boolean
Determines 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:TextFormat
The 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:TextFormat
The 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:DisplayObject
The 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:String
A 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