0

我有一个 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"也不起作用。

4

1 回答 1

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

于 2012-10-01T18:23:30.387 回答