2009-01-16 23 views
0

我有一個圖形化應用程序,它將文本呈現給BitmapData - 現在它被硬編碼爲使用特定的字體,這對測試來說很好,但對於製作,我真的需要它的風格。如何爲編程繪製的TextField使用預定義的CSS樣式?

應用程序的其餘部分使用特定的字體,我希望能夠只使用一個樣式名(字體的樣式)創建TextFormat對象傳遞給嵌入TextField對象的文字精靈..

因此,這裏的序列現在,大致爲:

 var format:TextFormat = new TextFormat(); 
     format.font = "Arial"; 
     format.color = 0xFF0000; 
     format.size = 12; 
     // tf is a previously instantiated TextField() 
     tf.defaultTextFormat = format; 
     tf.autoSize = TextFieldAutoSize.LEFT; 

     tf.text = _text; 

後來的後來,它只是用得出:

 bmpData.fillRect(srcRect,0x00000000); 
     bmpData.draw(tf); 

現在,這是討厭的,所以我怎麼得到一個風格Sheet或TextFormat從我的應用程序css定義?我查看了StyleManager,CSSStyleDeclaration,似乎沒有什麼比較合適的。這裏有什麼順序,任何人?

回答

1

你可以嘗試像下面

如果設置在所謂的TextFormat CSS文件的東西。

var css:CSSStyleDeclaration = StyleManager.getStyleDeclaration("TextFormat") 
yourComponent.setStyle("textAlign", getStyle("headerTextAlign")); 
yourComponent.setStyle("fontFamily", getStyle("fontFamily")); 

這應該做你想找的。

+0

什麼是`css` var用於? – 2009-01-20 08:43:38

1

基本上你可以添加[style]元數據標籤到您的自定義類來定義自定義樣式屬性,爲你的CSS這些屬性指定的值,並使用getStyle("myCustomStylePropertyName")在你的代碼來獲得在CSS設置的值。

有關更多信息,請參閱Flex 3 help: Example: Creating style properties