2012-01-31 6 views

答えて

2

keyleの答えは、実際の 'lineHeight'スタイルではなく、テキストの高さを示します。あなたは簡単にこのようにそのスタイルを取得することができます:

myLabel.getStyle("lineHeight"); 

問題は、これが相対値(パーセント)または(ピクセル単位)絶対値を返すことができるということです。デフォルト - lineHeightが明示的に設定されていない場合 - "120%"です。だからここ

は、我々は両方のケースではピクセル単位で値を取得することができます方法は次のとおりです。

var lineHeightStyle:* = myLabel.getStyle("lineHeight"); 

//its already a value in pixels 
if (lineHeightStyle is Number) var lineHeight:Number = lineHeightStyle; 
//it's a relative value: let's calculate 
else { 
    var lineMetrics:TextLineMetrics = myLabel.measureText(myLabel.text); 
    //get the numeric value from the string and divide it by 100 
    var ratio:Number = int(lineHeightStyle.match(/\d+/)[0])/100; 
    lineHeight = lineMetrics.height * ratio; 
} 
1

あなたは次のことを試しましたか?

var lineMetrics:TextLineMetrics = label.measureText(label.text); 
var result:Number = lineMetrics.height; 
関連する問題