Packagefeathers.controls
Classpublic class Label
InheritanceLabel Inheritance FeathersControl Inheritance starling.display.Sprite
Implements ITextBaselineControl
Subclasses TimeLabel

Displays text using a text renderer.

See also

How to use the Feathers Label component
Introduction to Feathers text renderers


Public Properties
 PropertyDefined By
  backgroundDisabledSkin : DisplayObject
A background to display when the label is disabled.
Label
  backgroundSkin : DisplayObject
The default background to display behind the label's text.
Label
  baseline : Number
[read-only] The baseline measurement of the text, in pixels.
Label
 InheriteddefaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
 InheriteddefaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheriteddepth : int
[read-only] The component's depth in the display list, relative to the stage.
FeathersControl
 InheritedfocusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 InheritedfocusManager : IFocusManager
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
FeathersControl
 InheritedfocusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 InheritedfocusPaddingBottom : Number
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingLeft : Number
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingRight : Number
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingTop : Number
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
FeathersControl
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all Label components.
Label
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
 InheritedisCreated : Boolean
[read-only] Determines if the component has been initialized and validated for the first time.
FeathersControl
 InheritedisEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFocusEnabled : Boolean
FeathersControl
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritednextTabFocus : IFocusDisplayObject
FeathersControl
  padding : Number
Quickly sets all padding properties to the same value.
Label
  paddingBottom : Number
The minimum space, in pixels, between the label's bottom edge and the label's text.
Label
  paddingLeft : Number
The minimum space, in pixels, between the label's left edge and the label's text.
Label
  paddingRight : Number
The minimum space, in pixels, between the label's right edge and the label's text.
Label
  paddingTop : Number
The minimum space, in pixels, between the label's top edge and the label's text.
Label
 InheritedpreviousTabFocus : IFocusDisplayObject
FeathersControl
 InheritedstyleName : String
The concatenated styleNameList, with values separated by spaces.
FeathersControl
 InheritedstyleNameList : TokenList
[read-only] Contains a list of all "styles" assigned to this control.
FeathersControl
 InheritedstyleProvider : IStyleProvider
When a component initializes, a style provider may be used to set properties that affect the component's visual appearance.
FeathersControl
  text : String
The text displayed by the label.
Label
  textRendererFactory : Function
A function used to instantiate the label's text renderer sub-component.
Label
  textRendererProperties : Object
An object that stores properties for the label's text renderer sub-component, and the properties will be passed down to the text renderer when the label validates.
Label
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
  wordWrap : Boolean
Determines if the text wraps to the next line when it reaches the width (or max width) of the component.
Label
Protected Properties
 PropertyDefined By
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the globalStyleProvider property is set to this value.
FeathersControl
 InheritedexplicitHeight : Number = NaN
The height value explicitly set by calling the height setter or setSize().
FeathersControl
 InheritedexplicitWidth : Number = NaN
The width value explicitly set by calling the width setter or setSize().
FeathersControl
  textRenderer : ITextRenderer
The text renderer.
Label
Public Methods
 MethodDefined By
  
Constructor.
Label
 Inherited
hideFocus():void
If the visual indicator of focus has been displayed by showFocus(), call this function to hide it.
FeathersControl
 Inherited
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending.
FeathersControl
 Inherited
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not.
FeathersControl
 Inherited
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single function call.
FeathersControl
 Inherited
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single function call.
FeathersControl
 Inherited
showFocus():void
If the object has focus, an additional visual indicator may optionally be displayed to highlight the object.
FeathersControl
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
  
If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself.
Label
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
  
Creates and adds the textRenderer sub-component and removes the old instance, if one exists.
Label
 Inherited
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
 Inherited
focusInHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_IN that may be overridden in subclasses to perform additional actions when the component receives focus.
FeathersControl
 Inherited
focusOutHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_OUT that may be overridden in subclasses to perform additional actions when the component loses focus.
FeathersControl
 Inherited
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
  
Positions and sizes children based on the actual width and height values.
Label
  
Choose the appropriate background skin based on the control's current state.
Label
 Inherited
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
setInvalidationFlag(flag:String):void
Sets an invalidation flag.
FeathersControl
 Inherited
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
Events
 Event Summary Defined By
 InheritedDispatched after the component has validated for the first time.FeathersControl
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when the width or height of the control changes.FeathersControl
Public Constants
 ConstantDefined By
  ALTERNATE_NAME_DETAIL : String = feathers-detail-label
[static] DEPRECATED: Replaced by Label.ALTERNATE_STYLE_NAME_DETAIL.
Label
  ALTERNATE_NAME_HEADING : String = feathers-heading-label
[static] DEPRECATED: Replaced by Label.ALTERNATE_STYLE_NAME_HEADING.
Label
  ALTERNATE_STYLE_NAME_DETAIL : String = feathers-detail-label
[static] An alternate style name to use with Label to allow a theme to give it a smaller style meant for less-important details.
Label
  ALTERNATE_STYLE_NAME_HEADING : String = feathers-heading-label
[static] An alternate style name to use with Label to allow a theme to give it a larger style meant for headings.
Label
 InheritedINVALIDATION_FLAG_ALL : String = all
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
 InheritedINVALIDATION_FLAG_DATA : String = data
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_FOCUS : String = focus
[static] Invalidation flag to indicate that the focus of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_LAYOUT : String = layout
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SCROLL : String = scroll
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SELECTED : String = selected
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SIZE : String = size
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SKIN : String = skin
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STATE : String = state
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STYLES : String = styles
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
Property Detail
backgroundDisabledSkinproperty
backgroundDisabledSkin:DisplayObject

A background to display when the label is disabled.

In the following example, the label is given a disabled background skin:

         label.backgroundDisabledSkin = new Image( texture );

The default value is null.


Implementation
    public function get backgroundDisabledSkin():DisplayObject
    public function set backgroundDisabledSkin(value:DisplayObject):void
backgroundSkinproperty 
backgroundSkin:DisplayObject

The default background to display behind the label's text.

In the following example, the label is given a background skin:

         label.backgroundSkin = new Image( texture );

The default value is null.


Implementation
    public function get backgroundSkin():DisplayObject
    public function set backgroundSkin(value:DisplayObject):void
baselineproperty 
baseline:Number  [read-only]

The baseline measurement of the text, in pixels.


Implementation
    public function get baseline():Number
globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all Label components.

The default value is null.

See also

paddingproperty 
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.

In the following example, the padding is set to 20 pixels:

         label.padding = 20;

The default value is 0.


Implementation
    public function get padding():Number
    public function set padding(value:Number):void

See also

paddingBottomproperty 
paddingBottom:Number

The minimum space, in pixels, between the label's bottom edge and the label's text.

In the following example, the bottom padding is set to 20 pixels:

         label.paddingBottom = 20;

The default value is 0.


Implementation
    public function get paddingBottom():Number
    public function set paddingBottom(value:Number):void
paddingLeftproperty 
paddingLeft:Number

The minimum space, in pixels, between the label's left edge and the label's text.

In the following example, the left padding is set to 20 pixels:

         label.paddingLeft = 20;

The default value is 0.


Implementation
    public function get paddingLeft():Number
    public function set paddingLeft(value:Number):void
paddingRightproperty 
paddingRight:Number

The minimum space, in pixels, between the label's right edge and the label's text.

In the following example, the right padding is set to 20 pixels:

         label.paddingRight = 20;

The default value is 0.


Implementation
    public function get paddingRight():Number
    public function set paddingRight(value:Number):void
paddingTopproperty 
paddingTop:Number

The minimum space, in pixels, between the label's top edge and the label's text.

In the following example, the top padding is set to 20 pixels:

         label.paddingTop = 20;

The default value is 0.


Implementation
    public function get paddingTop():Number
    public function set paddingTop(value:Number):void
textproperty 
text:String

The text displayed by the label.

In the following example, the label's text is updated:

         label.text = "Hello World";

The default value is null.


Implementation
    public function get text():String
    public function set text(value:String):void
textRendererproperty 
protected var textRenderer:ITextRenderer

The text renderer.

See also

textRendererFactoryproperty 
textRendererFactory:Function

A function used to instantiate the label's text renderer sub-component. By default, the label will use the global text renderer factory, FeathersControl.defaultTextRendererFactory(), to create the text renderer. The text renderer must be an instance of ITextRenderer. This factory can be used to change properties on the text renderer when it is first created. For instance, if you are skinning Feathers components without a theme, you might use this factory to style the text renderer.

The factory should have the following function signature:

function():ITextRenderer

In the following example, a custom text renderer factory is passed to the label:

         label.textRendererFactory = function():ITextRenderer
         {
             return new TextFieldTextRenderer();
         }

The default value is null.


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

See also

textRendererPropertiesproperty 
textRendererProperties:Object

An object that stores properties for the label's text renderer sub-component, and the properties will be passed down to the text renderer when the label validates. The available properties depend on which ITextRenderer implementation is returned by textRendererFactory. Refer to feathers.core.ITextRenderer for a list of available text renderer implementations.

If the subcomponent has its own subcomponents, their properties can be set too, using attribute @ notation. For example, to set the skin on the thumb which is in a SimpleScrollBar, which is in a List, you can use the following syntax:

list.verticalScrollBarProperties.@thumbProperties.defaultSkin = new Image(texture);

Setting properties in a textRendererFactory function instead of using textRendererProperties will result in better performance.

In the following example, the label's text renderer's properties are updated (this example assumes that the label text renderer is a TextFieldTextRenderer):

         label.textRendererProperties.textFormat = new TextFormat( "Source Sans Pro", 16, 0x333333 );
         label.textRendererProperties.embedFonts = true;

The default value is null.


Implementation
    public function get textRendererProperties():Object
    public function set textRendererProperties(value:Object):void

See also

wordWrapproperty 
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 label's text is wrapped:

         label.wordWrap = true;

The default value is false.


Implementation
    public function get wordWrap():Boolean
    public function set wordWrap(value:Boolean):void
Constructor Detail
Label()Constructor
public function Label()

Constructor.

Method Detail
autoSizeIfNeeded()method
protected function autoSizeIfNeeded():Boolean

If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself. If the explicitWidth or explicitHeight member variables are set, those value will be used without additional measurement. If one is set, but not the other, the dimension with the explicit value will not be measured, but the other non-explicit dimension will still need measurement.

Calls setSizeInternal() to set up the actualWidth and actualHeight member variables used for layout.

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

Returns
Boolean
createTextRenderer()method 
protected function createTextRenderer():void

Creates and adds the textRenderer 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

layoutChildren()method 
protected function layoutChildren():void

Positions and sizes children based on the actual width and height values.

refreshBackgroundSkin()method 
protected function refreshBackgroundSkin():void

Choose the appropriate background skin based on the control's current state.

Constant Detail
ALTERNATE_NAME_DETAILConstant
public static const ALTERNATE_NAME_DETAIL:String = feathers-detail-label

DEPRECATED: Replaced by Label.ALTERNATE_STYLE_NAME_DETAIL.

DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.

See also

ALTERNATE_NAME_HEADINGConstant 
public static const ALTERNATE_NAME_HEADING:String = feathers-heading-label

DEPRECATED: Replaced by Label.ALTERNATE_STYLE_NAME_HEADING.

DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.

See also

ALTERNATE_STYLE_NAME_DETAILConstant 
public static const ALTERNATE_STYLE_NAME_DETAIL:String = feathers-detail-label

An alternate style name to use with Label to allow a theme to give it a smaller style meant for less-important details. If a theme does not provide a style for a detail label, the theme will automatically fall back to using the default style for a label.

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 detail style is applied to a label:

         var label:Label = new Label();
         label.text = "Less important, detailed text";
         label.styleNameList.add( Label.ALTERNATE_STYLE_NAME_DETAIL );
         this.addChild( label );

See also

ALTERNATE_STYLE_NAME_HEADINGConstant 
public static const ALTERNATE_STYLE_NAME_HEADING:String = feathers-heading-label

An alternate style name to use with Label to allow a theme to give it a larger style meant for headings. If a theme does not provide a style for a heading label, the theme will automatically fall back to using the default style for a label.

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 heading style is applied to a label:

         var label:Label = new Label();
         label.text = "Very Important Heading";
         label.styleNameList.add( Label.ALTERNATE_STYLE_NAME_HEADING );
         this.addChild( label );

See also