StyleManager Ŭ·¡½ºÀÇ »ç¿ë

StyleManager Ŭ·¡½º¿¡ ÀÇÇØ, ActionScript ¸¦ »ç¿ëÇØ class ½Ç·ºÅÍ ¹× ŸÀÔ ½Ç·ºÅÍ¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, »ó¼Ó °¡´ÉÇÑ properties ¿Í »ó¼Ó ºÒ°¡´ÉÇÑ properties ¸¦ ±Û·Î¹úÇÏ°Ô Àû¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. StyleManager ¸¦ »ç¿ëÇϸé, »õ·Î¿î CSS ½ºÅ¸ÀÏ ¼±¾ðÀ» Á¤ÀÇÇØ, ±×°ÍÀ» Flex ¾îÇø®ÄÉÀ̼ÇÀÇ ÄÁÆ®·Ñ¿¡ Àû¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

StyleManager ¸¦ »ç¿ëÇØ °ªÀ» ¼³Á¤¿¡´Â, ´ÙÀ½ÀÇ ¹®À屸Á¶¹ýÀ» »ç¿ëÇÕ´Ï´Ù.

mx.styles.StyleManager.getStyleDeclaration(style_name). setStyle("property", value);

style_name ·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Â °ÍÀº, ¸®ÅÍ·²ÀÎ global, Button ³ª TextArea µîÀÇ Å¸ÀÔ ½Ç·ºÅÍ, ¶Ç´Â <mx:Style> ÅÂ±× ¶Ç´Â ¿ÜºÎ ½ºÅ¸ÀÏ ½ÃÆ®·Î Á¤ÀÇÇÏ´Â class ½Ç·ºÅÍÀÔ´Ï´Ù. ±Û·Î¹ú ½ºÅ¸ÀÏÀº, °¢ ¿ÀºêÁ§Æ®·Î ¸í½ÃÀûÀ¸·Î ÀçÁ¤ÀÇ(override) µÇÁö ¾Ê´Â ÀÌ»ó ¸ðµç ¿ÀºêÁ§Æ®¿¡ Àû¿ëµË´Ï´Ù.

getStyleDeclaration() ¸Þ¼Òµå´Â,textDecoration, µîÀÇ »ó¼Ó ºÒ°¡´ÉÇÑ ½ºÅ¸ÀÏÀ» 1 ¹ø¿¡ º¹¼öÀÇ Å¬·¡½º¿¡ Àû¿ëÇÏ´Â °æ¿ì¿¡ µµ¿òÀÌ µË´Ï´Ù. ÀÌ properties ´Â,CSSStyleDeclaration ŸÀÔÀÇ ¿ÀºêÁ§Æ®¸¦ ÂüÁ¶ÇÕ´Ï´Ù. ŸÀÔ ½Ç·ºÅͳª ¿ÜºÎ ½ºÅ¸ÀÏ ½ÃÆ®´Â, ÀÌ¹Ì CSSStyleDeclaration ŸÀÔÀÇ °ÍÀ̶ó°í »óÁ¤µË´Ï´Ù. Flex ¿¡¼­´Â, ÀÌ Å¸ÀÔÀÇ ¿ÀºêÁ§Æ®¿¡ Á¤ÀÇÇÑ class ½Ç·ºÅͰ¡ ³»ºÎ¿¡¼­ º¯È¯µË´Ï´Ù.

´ÙÀ½¿¡ ³ªÅ¸³»´Â ¿¹¿¡¼­´Â,fontSize properties ¸¦ ToolTip,myStyle, ¹× global ÀÇ °¢ ½ºÅ¸ÀÏ¸í¿¡ Àû¿ëÇÕ´Ï´Ù.

import mx.styles.StyleManager;
// Type selector; applies to all ToolTips and subclasses of ToolTip.
StyleManager.getStyleDeclaration("ToolTip"). setStyle("fontSize", 24); 

// Class selector; applies to all controls using the style named myStyle.
// Note that class selectors must be prefixed with a period.
StyleManager.getStyleDeclaration(".myStyle"). setStyle("fontSize", 24);

// Global style: applies to all controls.
StyleManager.getStyleDeclaration("global"). setStyle("fontSize", 24);

¸Þ¸ð

 

»ó¼Ó °¡´ÉÇÑ ½ºÅ¸ÀÏ¿¡¼­µµ, »ó¼Ó ºÒ°¡´ÉÇÑ ½ºÅ¸ÀÏ¿¡¼­µµ,global ½ºÅ¸ÀÏ·Î ¼³Á¤ÇßÀ» °æ¿ì´Â, °èÃþ³»ÀÇ À§Ä¡ (¿Í)´Â °ü°è¾ø´Â °ÍÀ¸·Î ¸ðµç ÄÁÆ®·Ñ¿¡ Àû¿ëµË´Ï´Ù.

´ÙÀ½ÀÇ ¿¹¿¡¼­´Â,global ½Ç·ºÅ͸¦ »ç¿ëÇØ, ¸ðµç ÄÄÆÛ³ÍÆ®¿¡ ´ëÇØ¼­ fontFamily ½ºÅ¸ÀÏ properties ¹× fontWeight ½ºÅ¸ÀÏ properties ¸¦ Á¤ÀÇÇÕ´Ï´Ù. °Ô´Ù°¡ ¸ðµç TextInput ÄÁÆ®·ÑÀÇ borderStyle ¸¦ solid ·Î ¼³Á¤ÇÕ´Ï´Ù.

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="500" height="400" initialize="initializeStyles() ">
    <mx:Script><! [CDATA[
        import mx.styles.StyleManager;
        public function initializeStyles() :void {
            // Initialize the global settings.
            StyleManager.getStyleDeclaration("global"). 
setStyle("fontFamily", "Arial");
StyleManager.getStyleDeclaration("global").
setStyle("fontWeight", "bold");
// Initialize all TextInput controls to have solid borders. StyleManager.getStyleDeclaration("TextInput").
setStyle("borderStyle", "solid");
} ]]></mx:Script> <mx:Button id="btn2" label="Click Me"/> <mx:TextInput width="425" height="250" text="this is a text area"/> </mx:Application>

CSSStyleDeclaration Ŭ·¡½º¿¡¼­ ActionScript ¸¦ »ç¿ëÇϸé, CSS ½ºÅ¸ÀÏ ¼±¾ðÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀ» ÀÌ¿ëÇϸé, ½ÇÇà½Ã¿¡ ½ºÅ¸ÀÏ ½ÃÆ®¸¦ ÀÛ¼ºÇØ ÆíÁýÇØ, Flex ¾îÇø®ÄÉÀ̼ÇÀÇ Å¬·¡½º¿¡ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ÇÇà½Ã¿¡ ½ºÅ¸ÀÏ Á¤ÀÇÀÇ º¯°æÀ̳ª ½ºÅ¸ÀÏÀÇ Àû¿ëÀ» ½Ç½ÃÇÏ·Á¸é ,setStyle() ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.

StyleManager ´Â,setStyleDeclaration() ¸Þ¼Òµåµµ °®Ãß°í ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé CSSStyleDeclaration ¿ÀºêÁ§Æ®¸¦ ½Ç·ºÅͷμ­ Àû¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ¾î´À ŸÀÔÀÇ ÄÄÆÛ³ÍÆ® ¸ðµÎ¿¡°Ô ½ºÅ¸ÀÏ ½ÃÆ®¸¦ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ½Ç·ºÅÍ´Â, class ½Ç·ºÅÍ ¶Ç´Â ŸÀÔ ½Ç·ºÅͷμ­ ±â´ÉÇÕ´Ï´Ù.

´ÙÀ½ÀÇ ¿¹¿¡¼­´Â, »õ·Î¿î CSSStyleDeclaration ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇØ, ¸î°³ÀÇ ½ºÅ¸ÀÏ properties ¸¦ ¿ÀºêÁ§Æ®¿¡ Àû¿ëÇÕ´Ï´Ù. ´ÙÀ½¿¡, StyleManager ÀÇ setStyleDeclaration() ¸Þ¼Òµå¸¦ »ç¿ëÇØ ¸ðµç Button ÄÁÆ®·Ñ¿¡ »õ·Î¿î ½ºÅ¸ÀÏÀ» Àû¿ëÇÕ´Ï´Ù.

<mx:Script><! [CDATA[ 
    import mx.styles.StyleManager;
    import mx.styles.CSSStyleDeclaration;
        
    private var myDynStyle:CSSStyleDeclaration = new
CSSStyleDeclaration("myDynStyle"); private function init() :void { myDynStyle.setStyle('color', 'blue'); myDynStyle.setStyle('fontFamily', 'Arial'); // Apply the new style to all Button controls. StyleManager.setStyleDeclaration("Button", myDynStyle, true); } ]]></mx:Script>

ŸÀÔ ½Ç·ºÅÍ¿¡ »õ·Î¿î CSSStyleDeclaration ¸¦ ¼³Á¤Çϸé, ±âÁ¸ÀÇ Å¸ÀÔ ½Ç·ºÅÍ Àüü°¡ »õ·Î¿î ½Ç·ºÅÍ·Î ¿Å°Ü³õÀ» ¼ö ÀÖ½À´Ï´Ù. »õ·Î¿î CSSStyleDeclaration ·Î ¸í½ÃÀûÀ¸·Î °ªÀÌ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº ½ºÅ¸ÀÏ properties ´Â, ¸ðµÎ null ·Î ¼³Á¤µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, "defaults.css" ÆÄÀÏ ¶Ç´Â ÀÌ¹Ì Àû¿ë ³¡³­ ½ºÅ¸ÀÏ ½ÃÆ®·Î Á¤Àǵǰí ÀÖ´Â ½ºÅ²À̳ª ¸¶ÁøµîÀÇ properties °¡ »èÁ¦µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

¸ðµç ½ºÅ¸ÀÏ properties °¡ ¹«È¿°¡ µÇÁö ¾Ê°Ô ÇÏ·Á¸é , class ½Ç·ºÅ͸¦ »ç¿ëÇØ »õ·Î¿î CSSStyleDeclaration ¿ÀºêÁ§Æ®¸¦ Àû¿ëÇÕ´Ï´Ù. class ½Ç·ºÅÍÀÇ ½ºÅ¸ÀÏ properties ·Î ±âÁ¸ÀÇ Å¸ÀÔ ½Ç·ºÅÍÀÇ properties ¸¦ ¿Å°Ü³õÀ» ¼ö ÀÖÀ» °ÍÀº ¾ø±â ¶§¹®¿¡, ÄÄÆÛ³ÍÆ®ÀÇ µðÆúÆ® ¼³Á¤À» À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½ÀÇ ¿¹¿¡¼­´Â, myButtonStyle ¸¦ b1 Button ÄÁÆ®·Ñ¿¡ Àû¿ëÇÕ´Ï´Ù.

<? xml version="1. 0"? > 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init() ">
  <mx:Script><! [CDATA[ 
    import mx.styles.StyleManager;
    import mx.styles.CSSStyleDeclaration;
        
    private var myDynStyle:CSSStyleDeclaration = new
CSSStyleDeclaration("myDynStyle"); private function init() :void { myDynStyle.setStyle('color', 'blue'); myDynStyle.setStyle('themeColor', 'green'); myDynStyle.setStyle('fontFamily', 'georgia'); // Use class selector to apply style to certain class of components. StyleManager.setStyleDeclaration(".myButtonStyle", myDynStyle, true); } ]]></mx:Script> <mx:Button id="b1" label="Click Me" styleName="myButtonStyle"/> </mx:Application>

CSSStyleDeclaration ¿ÀºêÁ§Æ®¸¦ »èÁ¦ÇÏ·Á¸é , ´ÙÀ½ÀÇ ¿¹¿Í °°ÀÌ, StyleManager ÀÇ clearStyleDeclaration() ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.

StyleManager.clearStyleDeclaration(".myButtonStyle", true);

clearStyleDeclaration() ¸Þ¼Òµå¸¦ »ç¿ëÇϸé, ÁöÁ¤ÇÑ ½Ç·ºÅÍÀÇ ½ºÅ¸Àϸ¸ÀÌ »èÁ¦µË´Ï´Ù. ÄÄÆÛ³ÍÆ®¿¡ class ½Ç·ºÅ͸¦ Àû¿ëÇØ, ±× ÄÄÆÛ³ÍÆ®ÀÇ class ½Ç·ºÅÍ¿¡ ´ëÇØ¼­ ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé, ÀÌ ÄÄÆÛ³ÍÆ®ÀÇ Å¸ÀÔ ½Ç·ºÅÍÀÇ ½ºÅ¸ÀÏÀº »èÁ¦µÇÁö ¾Ê°í ³²½À´Ï´Ù.

setStyleDeclaration() ¸Þ¼Òµå ¹× clearStyleDeclaration() ¸Þ¼Òµå´Â ¸¹Àº °è»ê 󸮸¦ ½Ç½ÃÇÕ´Ï´Ù. update ÆÄ¶ó¹ÌÅ͸¦ false ·Î ¼³Á¤Çϸé, »õ·Î¿î ½ºÅ¸ÀÏÀ» Adobe Flash Player °¡ °ð¹Ù·Î Àû¿ë ¶Ç´Â Ŭ¸®¾î ÇÏÁö ¾Ê°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½ÀÇ ¿¹¿¡¼­´Â, ´Ù¾çÇÑ Å¸°ÙÀ¸·Î »õ·Î¿î class ½Ç·ºÅ͸¦ ¼³Á¤ÇÕ´Ï´Ù¸¸, ¸¶Áö¸· ½ºÅ¸ÀÏ ¼±¾ðÀÇ Àû¿ë±îÁö °»½ÅÀ» trigger ÇÏÁö ¾Ê½À´Ï´Ù.

StyleManager.setStyleDeclaration("Button", myButtonStyle, false);
StyleManager.setStyleDeclaration("Label", myLabelStyle, false);
StyleManager.setStyleDeclaration("TextArea", myTextAreaStyle, true);

update ÆÄ¶ó¹ÌÅͷμ­ false ¸¦ °Ç³×ÁÖ¸é, Flash Player ´Â ½Ç·ºÅ͸¦ ÀúÀåÇÏ´Â °Í¸¸À¸·Î ½ºÅ¸ÀÏÀ» Àû¿ëÇÏÁö ¾Ê½À´Ï´Ù. update ÆÄ¶ó¹ÌÅͷμ­ true ¸¦ °Ç³×ÁÖ¸é, Flash Player ´Â ¾îÇø®ÄÉÀ̼ǿ¡ Æ÷ÇԵǴ °¢ ºñÁÖ¾ó ÄÄÆÛ³ÍÆ®ÀÇ ½ºÅ¸ÀÏÀ» Àç°è»êÇÕ´Ï´Ù.