Apache flex 如何获得Spark标签中文本的行高?
如何确定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"); 问题是,这可能会返回一个相对值(百分比)或绝对值(像素)
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;
}