2012-03-07 32 views
0

我试图更新一些TextField的样式,例如。颜色,fontSize,fontFamily。 我通过创建领域:更新TextField StyleSheet不会产生任何效果

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); 

然后我试图更新文本框:

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链接到文本框

每个触发SetStyle都不做任何更改。我很长一段时间找不到虫子。

请和谢谢您的帮助:)

+0

你看到你首先为文本字段中的风格? – Triode 2012-03-07 14:45:48

+0

@ rajesh.adhi是 – PiKey 2012-03-07 15:41:23

+0

我想你的代码和你的SetStyle功能,并正在与预期......你确定你的文字你的字符串里面的“文本”变量HTML

(段)标签? – danii 2012-03-07 15:47:59

回答

0

我建议你把这个简单的示例

package { 
import flash.display.Sprite; 
import flash.text.StyleSheet; 
import flash.text.TextField; 
import flash.text.TextFieldAutoSize; 

public class StyleSheetExample extends Sprite { 

    public function StyleSheetExample() { 
     var style:StyleSheet = new StyleSheet(); 

     var heading:Object = new Object(); 
     heading.fontWeight = "bold"; 
     heading.color = "#FF0000"; 

     var body:Object = new Object(); 
     body.fontStyle = "italic"; 

     style.setStyle(".heading", heading); 
     style.setStyle("body", body); 

     var label:TextField = new TextField(); 
     label.styleSheet = style; 
     label.htmlText = "<body><span class='heading'>Hello </span>World...</body>"; 
     addChild(label); 
    } 
    } 
} 
相关问题