将滚动条添加到具有固定高度的TextArea

时间:2012-10-01 15:13:29

标签: flash flex flex3

我有一个TextArea,我想给它一个固定的高度,如果文本溢出那个高度,就会出现滚动条。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:TextArea
        height="34"
        text="Line 1&#13;Line 2&#13;Line 3&#13;Line 4&#13;Line 5&#13;Line 6&#13;Line 7"/>
</mx:Application>

但是,如果我给它一个高度,则不会出现滚动条(虽然我可以用鼠标滚轮或选择文本滚动文本)。即使强制滚动条始终使用verticalScrollPolicy="on"显示也不起作用。

1 个答案:

答案 0 :(得分:1)

如果您查看TextArea的源代码,您可以看到,如果小于或等于40像素,则verticalScrollPolicy被硬编码为OFF:

override public function get verticalScrollPolicy():String
{
    return height <= 40 ? ScrollPolicy.OFF : _verticalScrollPolicy;
}

您有几个选择:

  • 将TextArea高度设置为41或更高

  • 创建一个继承mx TextArea的自定义控件并覆盖此方法:

    override public function get verticalScrollPolicy():String
    {
        return _verticalScrollPolicy;
    }
    
  • 改为使用Spark TextArea并使用属性heightInLines

我在以下主题中找到了答案:http://tech.groups.yahoo.com/group/flexcoders/message/112148