2010-12-21 79 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

相關問題