1
如何确定Spark Label中文本的行高(以像素为单位)?如何获取Spark标签中文本的行高?
如何确定Spark Label中文本的行高(以像素为单位)?如何获取Spark标签中文本的行高?
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;
}
您是否尝试过以下方法?
var lineMetrics:TextLineMetrics = label.measureText(label.text);
var result:Number = lineMetrics.height;