Flex中利用StyleManager类getColorName()和getColorNames()事件将颜色名称转化为颜色的数值的例子

By Minidxer | August 23, 2008

接下来的例子演示了Flex中利用StyleManager类getColorName()和getColorNames()事件,将颜色名称转化为颜色的数值。比如 “red”, “haloSilver”, “#FFFFFF”和 “0xFFFF00″。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             import mx.styles.StyleManager;
  10.  
  11.             private function toHex(item:Object):String {
  12.                 var hex:String = Number(item).toString(16);
  13.                 return ("00000" + hex.toUpperCase()).substr(-6);
  14.             }
  15.  
  16.             private function button_click():void {
  17.                 var colorInt:uint = StyleManager.getColorName(textInput.text);
  18.                 if (colorInt == StyleManager.NOT_A_COLOR) {
  19.                     swatch.setStyle("backgroundColor", StyleManager.NOT_A_COLOR);
  20.                     lbl.text = "NOT A COLOR";
  21.                 } else {
  22.                     swatch.setStyle("backgroundColor", colorInt);
  23.                     lbl.text = "#" + toHex(colorInt);
  24.                 }
  25.             }
  26.         ]]>
  27.     </mx:Script>
  28.  
  29.     <mx:ApplicationControlBar dock="true">
  30.         <mx:Label text="Color name:" />
  31.         <mx:TextInput id="textInput" />
  32.         <mx:Button id="button"
  33.                 label="Submit"
  34.                 click="button_click()" />
  35.     </mx:ApplicationControlBar>
  36.  
  37.     <mx:HBox>
  38.         <mx:Box id="swatch"
  39.                 width="{lbl.height}"
  40.                 height="{lbl.height}" />
  41.  
  42.         <mx:Label id="lbl"
  43.                 selectable="true"
  44.                 fontFamily="_typewriter"
  45.                 fontSize="64" />
  46.     </mx:HBox>
  47.  
  48. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Flex | Tags: , , , ,

Search Posts

Archives

Sponsored Ads