1
我沒有成功嘗試將textFormat分配給同一字符串的兩個不同部分,但第二次未註冊並保持爲默認文本格式。嵌入字體的兩種樣式(常規和粗體)。ActionScript - setTextFormat()在同一個字符串上重複多次?
//Create Text Field
private function createAboutWindowTextField():TextField
{
var aboutWindowFont:Font = new AboutWindowFont();
var regularFormat:TextFormat = new TextFormat();
var boldFormat:TextFormat = new TextFormat();
regularFormat.size = boldFormat.size = 12;
regularFormat.font = boldFormat.font = aboutWindowFont.fontName;
regularFormat.align = boldFormat.align = TextFormatAlign.CENTER;
boldFormat.bold = true;
var result:TextField = new TextField();
result.antiAliasType = AntiAliasType.ADVANCED;
result.autoSize = TextFieldAutoSize.LEFT;
result.defaultTextFormat = regularFormat;
result.embedFonts = true;
result.multiline = true;
result.selectable = false;
result.type = TextFieldType.DYNAMIC;
result.text = "First Header\n" +
"Version 1.0\n" +
"Copyright © 2011\n\n" +
"Second Header:\n" +
"Other info";
result.setTextFormat(boldFormat, result.text.indexOf("First Header"), ("First Header").length);
result.setTextFormat(boldFormat, result.text.indexOf("Second Header:"), ("Second Header:").length);
return result;
}
上面的代碼會導致這兩個「第一個標題」和「第二頭:」越來越大膽,而只是「第一個標題」將被同時「二頭:」設置爲黑體似乎被簡單地忽略。有什麼問題?
,你說這是不可能採用同樣的textFormat到文本框的多個實例,而無需使用樣式表的htmlText? – TheDarkIn1978 2011-05-04 20:03:53
我添加了一個StyleSheet解決方案的例子。在我的測試中,我能夠將文本格式應用於文本字段的多個部分。也許嘗試使用粗體字體的不同字體,而不是在文本格式中設置「bold = true」。進行測試時,如果更改粗體格式的顏色,顏色是否正確更改? – Corey 2011-05-04 21:30:49
否,將粗體字體設置爲不同的顏色不適用於第二次。奇怪的是,如果我只應用一次並嘗試將文本格式設置爲result.text.indexOf(「Second Header:」),它也不會被應用。我不知道問題是否與字符串?跟蹤result.text.indexOf(「Second Header:」)返回正確的索引。 – TheDarkIn1978 2011-05-04 22:23:44