2009-02-24 4 views
1

в AS3, я создаю это динамическое текстовое поле, которое заполняется из файла XML, на основе того, где пользователь нажимает.AS3 AutoSize Textfield

Динамическое текстовое поле имеет пользовательскую полосу прокрутки. Моя проблема в том, что если текст, вставленный в текстовое поле, меньше, чем ранее отображаемый текст, вы все равно можете прокручивать динамическое текстовое поле до предыдущего.

Есть ли способ сбросить текстовое поле autoSize?

Большое спасибо,

ответ

0

Я думаю, что это link скажет вам точно, что делать.

Используете ли вы какие-либо стандартные средства контроля гибкости? Или это вспышка?

Вы можете установить ширину поля на длину строки + некоторое пространство (связывая ширину с длиной строки/обработкой события и т. Д.). This может представлять интерес. Конечно,

+0

arrrg .. код не отображается правильно. Во всяком случае, это Flash, и см. ... текстовое поле никогда не исчезает на сцене, он просто обновляет текст. Помогает ли это? –

+0

Тогда это не «динамическое текстовое поле». Только текст есть. Я обновлю свой ответ ссылкой. – dirkgently

+0

хмм .. Вы обновили ссылку? Я не вижу последнюю ссылку. –

2

Если вы говорите о Flash (у меня очень мало опыта работы в Flex), то свойство textField.autosize, вероятно, приведет вас в правильном направлении.

0

Попробуйте это, оберните текст XML-элементы в

<text><![CDATA[<span class="someClass">Some Text Here</span>]]></text> 

Если до не была завернута в CDATA, вспышка взял бы <span class="someClass"> и попытался отбросить его вниз линию и отступ, как если бы с иерархией XML; CDATA сообщает flash, чтобы игнорировать эти символы и буквально рассматривать их как строку. Результатом не использования этого процесса является то, что в вашем текстовом поле много нечетных расстояний.

Также убедитесь, что ваш TextField настроен на Multiline and wordwrap, а также autoSize такой как TextFieldAutoSize.LEFT;