Определить количество строк, необходимое для фрагмента текста - PullRequest
1 голос
/ 22 декабря 2011

Это для всех мастеров TextField.У меня есть текстовое поле, которое отображает 2 абзаца текста.Первый, который я хочу обрезать, чтобы показывать максимум 3 строки текста.Второй абзац должен быть добавлен к этому тексту.

Есть ли способ, которым я могу показать только первые 3 строки первого абзаца?Думайте об этом как об аннотации к статье для первого абзаца.

Я пытался сделать это с помощью String.subStr (0, оценка 3 строк символов), но это довольно противоречиво, поскольку некоторые строки занимают 4строк текстового поля.

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

Ответы [ 2 ]

3 голосов
/ 22 декабря 2011
textField = new TextField();
textField.antiAliasType = AntiAliasType.ADVANCED;
textField.width = _boundaryWidth;
textField.autoSize = TextFieldAutoSize.NONE;
textField.multiline = true;
textField.wordWrap = true;
textField.text = _text;
textField.setTextFormat(textFormat);
while( textField.numLines > 3 )
{
    var txt:String = textField.getLineText(textField.numLines - 1 );
    textField.replaceText(textField.text.length - txt.length,textField.text.length, "");
    var numLines:int = textField.numLines;
}

Этот фрагмент кода должен делать то, что вы ищете.

Все, что вам нужно сделать, это проверить количество строк, которые охватывает текст.Первоначально установите ширину, потому что это помогает текстовому полю решить, на сколько строк нужно разложить.Я не создал функцию, которая охватывает все это.Но я думаю, это должно быть довольно просто сделать, так как здесь находится все тело функции.

2 голосов
/ 22 декабря 2011

Посмотрите на TextField # getLineOffset () . Он вернет индекс символа первого символа в указанной строке - вы можете использовать substr или substring для усечения текста соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...