Apache flex 如何获得Spark标签中文本的行高?

Apache flex 如何获得Spark标签中文本的行高?,apache-flex,flex4,flex-spark,Apache Flex,Flex4,Flex Spark,如何确定Spark标签中文本的线条高度(以像素为单位) 您尝试过以下方法吗 var lineMetrics:TextLineMetrics = label.measureText(label.text); var result:Number = lineMetrics.height; keyle的答案只给出文本的高度,而不是实际的“线宽”样式。您可以很容易地获得如下样式: myLabel.getStyle("lineHeight"); 问题是,这可能会返回一个相对值(百分比)或绝对值(像素)

如何确定Spark标签中文本的线条高度(以像素为单位)

您尝试过以下方法吗

var lineMetrics:TextLineMetrics = label.measureText(label.text);
var result:Number = lineMetrics.height;

keyle的答案只给出文本的高度,而不是实际的“线宽”样式。您可以很容易地获得如下样式:

myLabel.getStyle("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;
}