這是一個用於所有TextField嚮導的列表。我有一個顯示2段文本的文本字段。第一個我想被截斷以僅顯示最多3行文本。第二段將被附加到該文本。檢測文本塊所需的行數
有沒有辦法只顯示第一段的前三行?把它看作是第一段文章的摘要。
我試着用String.subStr(0,3行字符的猜測)做它,但它是相當不一致的,有些字符串將佔用4行文本字段。
我想過要做2個單獨的文本框,但在第一段只有1行字符的情況下,第二段之間會有2行字符的差距。
這是一個用於所有TextField嚮導的列表。我有一個顯示2段文本的文本字段。第一個我想被截斷以僅顯示最多3行文本。第二段將被附加到該文本。檢測文本塊所需的行數
有沒有辦法只顯示第一段的前三行?把它看作是第一段文章的摘要。
我試着用String.subStr(0,3行字符的猜測)做它,但它是相當不一致的,有些字符串將佔用4行文本字段。
我想過要做2個單獨的文本框,但在第一段只有1行字符的情況下,第二段之間會有2行字符的差距。
看看TextField#getLineOffset()。它將返回指定行上第一個字符的字符索引 - 您可以使用substr或substring來相應地截斷文本。
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;
}
這段代碼應該做你正在尋找的東西。
所有你需要做的就是檢查文本覆蓋的行數。最初設置寬度是因爲這有助於文本字段決定需要展開多少行。我還沒有創建一個涵蓋所有這些的功能。但我想這應該很簡單,因爲整個函數體在這裏。
簡單而好的代碼,即使var'numLines'沒有用。 – helloflash 2014-08-01 18:43:50