【问题标题】:How do you get the line height of the text in a Spark Label?如何获取 Spark 标签中文本的行高?
【发布时间】:2012-02-22 18:32:45
【问题描述】:

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

【问题讨论】:

    标签: apache-flex flex4 flex-spark


    【解决方案1】:

    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;
    }
    

    【讨论】:

      【解决方案2】:

      您是否尝试过以下方法?

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-01
        相关资源
        最近更新 更多