2010-12-21 78 views

回答

7

火花有一些所谓的TextLineMetrics

,你可以做这样的

var tm:TextLineMetrics = label.measureText(name); 
var width:int = tm.width; 

这里是一个例子

<?xml version="1.0" encoding="utf-8"?> 

<fx:Script> 
    <![CDATA[ 
     import mx.controls.Alert; 
     import mx.controls.Text; 

     protected function cmdDoAction_clickHandler(event:MouseEvent):void 
     { 
      var tm:TextLineMetrics = cmdDoAction.measureText(cmdDoAction.label); 
      var _width:int = tm.width; 

      Alert.show(_width.toString()); 
     } 
    ]]> 
</fx:Script> 

<fx:Declarations> 
    <!-- Place non-visual elements (e.g., services, value objects) here --> 
</fx:Declarations> 

<s:Button id="cmdDoAction" 
      label="Kensodev" 
      click="cmdDoAction_clickHandler(event)"/> 
    </s:Application> 

这会给ÿ ou实际宽度

+0

它的工作原理。谢谢KensoDev :) – 2010-12-22 05:21:13

+0

当文本分配给textinput控件时,我们可以获取文本的长度吗? – 2010-12-22 06:18:53

+2

根据文档,不应用于Spark文本组件:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/UIComponent.html#measureText() – Stiggler 2011-11-29 23:17:43

相关问题