Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>If you mean a single-line label then this is the component that may help you. Consider that it can only make it's font size smaller (as a reaction to container's width reduction).</p> <pre><code>import flash.events.Event; import flash.text.TextLineMetrics; import mx.controls.Label; import mx.events.FlexEvent; public class ElasticLabel extends Label { private static const EXTRA_SPACE:Number = 2; private static const MIN_FONT_SIZE:Number = 6; private var fontResizeRequired:Boolean = false; public function ElasticLabel() { super(); addEventListener("explicitMaxWidthChanged", triggerFontResize); addEventListener(FlexEvent.VALUE_COMMIT, triggerFontResize); } private function triggerFontResize(event:Event):void { fontResizeRequired = true; } private function get currentWidth():Number { var textMetrics:TextLineMetrics = measureText(text); var textWidth:Number = textMetrics.width; var paddings:Number = 0; var paddingLeft:Number = getStyle("paddingLeft"); if (!isNaN(paddingLeft)) paddings += paddingLeft; var paddingRight:Number = getStyle("paddingRight"); if (!isNaN(paddingRight)) paddings += paddingRight; return textWidth + paddings + EXTRA_SPACE; } private function resizeFont():void { if (!isNaN(maxWidth) &amp;&amp; maxWidth &gt; 0) { var fontSize:Number = getStyle("fontSize") as Number; while (maxWidth &lt; currentWidth &amp;&amp; fontSize &gt; MIN_FONT_SIZE) { fontSize -= 0.5; setStyle("fontSize", fontSize); } } } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth, unscaledHeight); if (fontResizeRequired) { resizeFont(); fontResizeRequired = false; } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload