【发布时间】:2012-03-07 14:39:19
【问题描述】:
我正在尝试更新一些 TextField 的样式,例如。颜色,字体大小,字体家族。 我正在通过以下方式创建字段:
var textField:TextField = new TextField();
var style:StyleSheet = new StyleSheet();
style.parseCSS("p{color: #000000; fontFamily: System; fontSize: 20px;}");
textField.styleSheet = style;
textField.selectable = false;
//textField.embedFonts = true;
textField.antiAliasType = AntiAliasType.ADVANCED;
///textField.defaultTextFormat = myFormat;
textField.text = text;
textField.wordWrap = true;
textField.width = 800;
textField.height = 40;
some_other_mc.addChild(textField);
然后我尝试更新 textField:
private function SetStyle(name:String, value:String):void {
var current_styles:Object = _active_text_field.styleSheet.getStyle('p');
switch(name) {
case 'color':
current_styles.color = value;
break;
case 'fontSize':
current_styles.fontSize = value;
break;
case 'fontFamily':
current_styles.fontFamily = value;
break;
}
_active_text_field.styleSheet.setStyle('p', current_styles);
}
_active_text_field 链接到 textField。
每个触发器 SetStyle 都不做任何更改。找了半天没找到bug。
请感谢您的帮助:)
【问题讨论】:
-
您是否看到了您首先为文本字段设置的样式?
-
我尝试了您的代码和您的 SetStyle 函数,并且按预期工作...您确定您的字符串“文本”变量中的文本具有 HTML
和
(段落)标签? -
我使用了“current_styles.color = '#'+value;”和颜色的变化,但我仍然无法改变字体大小
-
检查一下,它对我来说工作正常:wonderfl.net/c/f3iX
-
@danii 即使在你的脚本字体大小没有改变,只有字体:/
标签: actionscript-3 apache-flex ide stylesheet