2010-10-07 36 views

回答

3

寫像

<mx:Style> 
    global { 
     fontSize: 20; 
    } 
</mx:Style> 

風格在主應用程序。它應該由應用程序內容繼承。

+0

某些組件在其中設置了明確的'fontSize' - 例如'ToolTip'。 – 2010-10-08 13:33:21

-2

您可以創建一個Factory類,它將處理文本格式,因此您將有一個地方可以更改字體大小。

 
public class OtherClass 
{ 
    public function OtherClass() 
    { 
     var textfield:TextField = new TextField(); 
     textfield = Factory.formatText(textfield); 
     textfield.text = "Hello World"; 

     addChild(textfield); 
    } 
} 
public class Factory 
{ 
    public static function formatText(tf:TextField):TextField 
    { 
     var fontName:String = "YourFont"; 
     var fontSize:int = 12; 
     var fontColor:uint = 0x000000; 

     var format:TextFormat = new TextFormat(fontName, fontSize , fontColor); 

     tf.defaultTextFormat = format; 
     //etc... 

     return tf; 
    } 
} 

你可以,當然,通過其他參數的功能,以保留您的文本格式有一定的靈活性。

+1

導入不會放在類聲明中。此外這不是真正的Flex,而是純粹的AS ..而順便說一句。爲每個文本字段創建一個新的TextFormat是不必要的。我只是將常量字段中使用的TextFormats添加到類中,並在需要時使用它。比使用特殊工廠類更容易。 – poke 2010-10-07 16:58:14

+0

@poke你是對的!我有一種寫得太快的傾向,並且在...之後思考進口是如何思考的,所以他們當然不應該在那裏。至於Factory類,我確實發現它很方便,也許矯枉過正只適用於字體大小,但它在這裏是一個想法。至於Flex與純粹的AS3,兩種方法都沒有什麼不好。 – PatrickS 2010-10-07 17:18:40

+0

因爲我們可以使用'fontSize'風格,所以很受限制,也不是很好的解決方案。 – 2010-10-08 13:32:20

1
+0

我個人喜歡你的其他解決方案,可以更新應用程序中的所有樣式:http://cookbooks.adobe.com/post_Change_font_size_in_the_whole_app_with_Ctrl___-16307.html(儘管如果你有很多樣式定義,它可能會有點慢) – 2010-10-11 12:05:09