这里有2个代码块。
var myTextField:TextField = new TextField();
var myTextFormat:TextFormat = new TextFormat();
addChild(myTextField);
myTextFormat.font = "Arial";
myTextFormat.size = 15;
myTextFormat.color = 0x0000FF;
myTextField.text = "some text";
**myTextField.setTextFormat(myTextFormat);**
VS
var myTextField:TextField = new TextField();
var myTextFormat:TextFormat = new TextFormat();
addChild(myTextField);
myTextFormat.font = "Arial";
myTextFormat.size = 15;
myTextFormat.color = 0x0000FF;
**myTextField.defaultTextFormat = myTextFormat;**
那么,有什么区别 setTextFormat()和defaultTextFormat?为什么有两种不同的方式(一种是通过属性另一种方法)来做事。
测试了更多代码:
var my_txt:TextField =new TextField();
my_txt.type = TextFieldType.INPUT
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFF0000;
my_txt.text = "this is for setTextFormat with range";
my_txt.setTextFormat(my_fmt,0,3);
// my_txt.text = "this is for setTextFormat without range";
// my_txt.setTextFormat(my_fmt);
// my_txt.defaultTextFormat = my_fmt;
// my_txt.text = "this is for default text format";
addChild(my_txt);
诉P>
答案 0 :(得分:3)
setTextFormat允许您更改文本部分的格式。查看setTextFormat的其他两个参数。设置defaultTextFormat时,它将应用于您添加到TextField的所有文本。
更多信息:
编辑: setTextFormat也不适用于设置格式后插入的文本。 Adobe说 “由用户手动插入或由replaceSelectedText()方法替换的任何文本都会接收新文本的默认文本字段格式,而不是为文本插入点指定的格式。要设置新文本的默认格式,请使用defaultTextFormat 。“