Actionscript 3.0 TextField отображаемых символов

У меня есть однострочное текстовое поле, в котором его свойство.text заполняется из внешнего файла.XML. Этот текст довольно длинный, и я хочу показать его на одной строке как можно больше, а потом добавить "...".

например

весь текст = Lorem ipsum dolor sit amet, организатор adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea кассовый следствие. Duis aute irure dolor в репереендерит в завитке Velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, иск в виновнике, вызывающий моллис аним, то есть лейборист.

отображаемый текст = описание: Lorem ipsum dolor sit amet, специалист по адептированию

как я хочу, чтобы это отображалось = Описание: Lorem ipsum dolor sit amet, специалист по адептизированию...

Я прочитал руководство, и я не могу найти свойство, которое дает мне индекс, который указывает мне на конец отображаемого текста.

Если у вас есть другая идея, пожалуйста, скажите мне.

Спасибо!

4 ответа

mytextfield.getLineLength(0)

должен дать вам длину, в символах, вашей первой строки текста. Это должно более или менее соответствовать положению последнего отображаемого символа в первой строке.

Отрегулируйте соответственно для других строк текста.

Разве вы не можете просто использовать подстроку?

var longtext:String = "Hello my really long string.";
var summary:String = longtext.substring(0,5);
SomeText.text = summary+"..."; // Hello...  

Я всегда использую свойство.length. Существуют также методы.setSelection, .replaceSelectedText, которые можно использовать со свойством.caretIndex. Также эта страница является вашим другом http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html.

Я использовал их в текстовых полях со специальными требованиями к размеру. В приведенном ниже примере это мое текстовое поле.

t.setSelection(t.length,t.length);
t.replaceSelectedText("");

Вы можете просто добавить любой дополнительный текст в кавычки внутри метода replaceSelectedText. После этого вам может понадобиться настроить значение caretIndex.

Посмотрите на примеры для TextLineMetrics учебный класс. Это должно помочь вам.

Другие вопросы по тегам