Начальная высота текстовой области намного больше, чем содержимое, я не могу найти способ сделать ее всегда такой же высоты, как текстовое содержимое:
<mx:TextArea id="textarea" borderStyle="solid" width="100%" wordWrap="true" selectable="false" backgroundAlpha="0" focusAlpha="0" text="this is a little test" />
Дает ограниченную рамку, которая намного выше необходимой.
Это также создает непреднамеренную проблему, если у вас есть ссылки в контенте, в которых ссылка 'mouseover' запускается, когда рядом с ней нет ссылки.
<mx:Script>
<![CDATA[
public function onInit():void
{
var style:StyleSheet = new StyleSheet();
var aLink:Object = new Object();
aLink.color = "#0000FF";
var aHover:Object = new Object();
aHover.color = "#00FF00";
aHover.textDecoration = "underline";
style.setStyle( "a:hover", aHover );
style.setStyle( "a:link", aLink );
textarea.styleSheet = style;
}
]]>
</mx:Script>
<mx:TextArea id="textarea" width="100%" wordWrap="true" borderStyle="solid" selectable="false" backgroundAlpha="0" focusAlpha="0" >
<mx:htmlText>
<![CDATA[<a href='event:http://www.adobe.com'>Navigate to Adobe.com.</a> this is testing nothing at all really]]>
</mx:htmlText>
</mx:TextArea>
Компонент Text не страдает от этого, но я не могу прикрепить таблицу стилей к текстовому компоненту.
Надеясь, кто-то может помочь. Или есть какой-то другой компонент, который я могу использовать для добавления таблицы стилей для стилизации тегов привязки.
Я нашел это переопределяемым в источнике TextArea.as, и если я переопределил его и удалил множитель «2 x», он почти работает, но, к сожалению, это означает, что контент не становится больше, когда ему нужно, и вместо этого выполняет вертикальную прокрутку, поэтому почти там:
override protected function measure():void
{
super.measure();
measuredMinWidth = DEFAULT_MEASURED_MIN_WIDTH;
measuredWidth = DEFAULT_MEASURED_WIDTH;
// TextArea is minimum of two lines of text
measuredMinHeight = measuredHeight = 2 * DEFAULT_MEASURED_MIN_HEIGHT;
}