PDA

Просмотр полной версии : autoResize и тестовые поля


Лир
18.10.2011, 19:14
Всем доброго времени суток. Интересует такой вопрос - кто какими компонентами пользуется когда необходимо отобразить текстовое поле с функцией autoResize. Какой оптимальный вариант решения этой проблемы, штука вроде несложная, а постоянно велосипеды какие - то изобретаю...

GBee
18.10.2011, 19:51
TextField

Лир
18.10.2011, 19:56
Спасибо, а spark или mx компоненты какие-нибудь есть?

GBee
18.10.2011, 19:59
spark не знаю,
а mx:TextArea тоже можно настроить на автосайз, но не красиво.

Добавлено через 1 минуту
private function resizeMe(field:TextArea) :void
{
field.validateNow();
field.mx_internal::getTextField().autoSize = TextFieldAutoSize.LEFT;
field.height = field.mx_internal::getTextField().height;
}

djyamato
18.10.2011, 21:29
AutoresizeTextArea.as


package com
{
import flash.events.Event;
import flash.text.TextFieldAutoSize;
import mx.controls.TextArea;

public class AutoresizeTextArea extends TextArea
{
public function AutoresizeTextArea()
{
super();
horizontalScrollPolicy = "off";
verticalScrollPolicy = "off";
this.addEventListener(Event.CHANGE, function(event:Event):void {
invalidateSize();
});
}

override protected function childrenCreated():void
{
this.textField.autoSize = TextFieldAutoSize.LEFT;
this.textField.wordWrap = false;
super.childrenCreated();
}

override protected function measure():void
{
super.measure();
measuredWidth = textField.width;
measuredHeight = textField.height;
}
}
}

Лир
19.10.2011, 00:26
Хм.. а как быть с более навороченными компонентами, типа RichEdit..?

GBee
19.10.2011, 10:00
А зачем им авторесайз?

Лир
19.10.2011, 11:14
Извиняюсь, не RichEdit... RichText... Или как узнать высоту контента в RichText

Добавлено через 50 минут
В случае с RichText меня measureHeight выручает.