Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Авто размер текстового поля ширина и высота (http://www.flasher.ru/forum/showthread.php?t=158411)

54321go 19.06.2011 17:30

Авто размер текстового поля ширина и высота
 
У меня html текст, мне надо чтобы перенос строки был только через "<br>" и авто-размер был по ширине и высоте. Вот так, почему-то поле имеет ширину и переносит когда текст не вмещается, надо чтобы автоматически увеличивалась.
Код AS3:

var tt:TextField = new TextField();
tt.autoSize = TextFieldAutoSize.CENTER;
tt.multiline = true;
tt.wordWrap = true;
addChild(tt)

Делать поле с большой шириной, тоже не выход мене надо её знать.

wvxvw 19.06.2011 20:49

Можете запостить картинку, как вы хотите чтобы текст выглядел? Я если честно с трудом это представляю. Но, на сколько я понимаю, то при любом автоматически выставленном размере текствое поле будет ширины самого широкого не разбиваемого на составные слова, и в высоту уже сколько получится.
multiline разрешает делать переносы самому полю там где в тексте есть \n wordWrap разрешает переносить по словам, если не влезает, и по буквам, если слово не влезает.

S-ed 20.06.2011 01:53

Есть 2 переменные.
textWidth и width - первая, это ширина самого текста, вторая - ширина поля. Если сделать поле очень широким, то текст будет растягиваться до предела. Если он из нескольких строк, то textWidth вернет значение самой длинной. Затем к этому значению можно приравнять width (с запасом, не знаю от чего, но поле съедает часть текста по краям, если используется "каверзные" настройки шрифта)

Код AS3:

var tt:TextField = new TextField();
tt.wordWrap = false;/*Иначе текст будет дробиться условием
 textWidth < width (100 пикселей, задается при создании).*/

tt.multiline = true; //иначе <br> будет игнорироваться
 
tt.background = true;//только для того чтобы видеть поле
tt.backgroundColor = 0xAAAAAA;
 
trace("tt.width = ", tt.width);
 
//белеберда, но вторая часть текста самая длинная
tt.htmlText= "ererew  <br>f hsdkjh fkjdhs<br> fkjhsd kjfhksj";
 
trace("tt.textWidth =", tt.textWidth);
 
tt.width = tt.textWidth;
 
addChild(tt)

Код:

tt.width =  100
tt.textWidth = 72
tt.width =  72



Часовой пояс GMT +4, время: 20:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.