Actionscript 3 TextField高度

时间:2011-10-18 21:21:49

标签: actionscript-3 height textfield

我需要将文本字段autosize属性设置为NONE,以确保HTML链接不会跳转到翻转。

但是,当我这样做时,如何设置textfield height属性以显示所有文本而不滚动?

我尝试了以下但是由于一个我无法弄清楚的原因,它正在压低我的文字的高度:

htmlTextField.autoSize = TextFieldAutoSize.LEFT;   
htmlTextField.htmlText = htmlText;
var recordedHeight:Number = htmlTextField.textHeight;
htmlTextField.autoSize = TextFieldAutoSize.NONE;
htmlTextField.height = recordedHeight + htmlTextField.getTextFormat().leading + 1;

2 个答案:

答案 0 :(得分:3)

TextFields一直有2px gutter,所以这可能会让你绊倒。

package
{
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;

    [SWF(frameRate="30", backgroundColor="#FFFFFF", width="500", height="500")]
    public class TextfieldHeight extends Sprite
    {
        public function TextfieldHeight()
        {
            var textFormat:TextFormat = new TextFormat();
            textFormat.size = 11;
            textFormat.font = "Georgia";

            var htmlTextField:TextField = new TextField();
            htmlTextField.setTextFormat( textFormat );
            htmlTextField.width = 250;
            htmlTextField.border = true;
            htmlTextField.wordWrap = true;
            htmlTextField.autoSize = TextFieldAutoSize.NONE; 
            htmlTextField.htmlText = '<a href="http://www.google.com">Lorem ipsum dolor</a> sit amet, consectetur adipiscing elit. Aliquam sodales, eros at convallis viverra, risus mauris euismod tortor, ac imperdiet sem augue vitae risus. Morbi ut sem neque. Vestibulum accumsan posuere augue, eu consectetur nibh porttitor eget. Sed suscipit sodales dui id pharetra. Vivamus quis hendrerit lectus. Vivamus interdum, felis a convallis dictum, libero erat aliquet massa, non placerat neque augue quis lacus. Aliquam viverra sem ultrices leo lacinia eu dignissim dolor ullamcorper. Etiam ullamcorper tincidunt velit, a vulputate sapien consequat quis.';
            htmlTextField.height = htmlTextField.textHeight + 4;

            this.addChild( htmlTextField );
        }
    }
}

答案 1 :(得分:0)

如果你去here并阅读。
你会看到。

  

返回flash.text:TextFormat - 表示的TextFormat对象   指定文本的格式属性。

现在,如果你看一下TextFormat你会看到默认值都是0

我很久以前遇到过这个问题,我发现的唯一工作就是选择一些文字,然后抓住defaultTextFormat,然后取消选择文字。

我确信还有另一种方法可以做到这一点,但就像我说这是我的黑客一轮。