Flex做的颜色器

 

 

此效果用对象的toString()方法来格式化输出字符串类型显示。比如toString(2)就是以二进制显示的,toString(8)以八进制显示。
下面例子里,用到Slider的从最小值0×000000到最大值0xFFFFFF,并用dataTipFormatFunction属性来回调一个函数实时更新Box容器的背景色与Lable控件的text显示!
toUpperCase()是将英文字母转成大写。
substr()是截取字符串参数里是(str.length – 6)是因为颜色以0xFFFFFF显示长度为8位减6后就是从第2位个开始截取到尾部也就是取出FFFFFF部分。

主要代码如下:

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="0x414141"> <mx:Style> ToolTip{ font-size:12; } </mx:Style> <mx:Script> <!--[CDATA[ private function intToHex(color:int=0):String{ var mask:String = "000000"; var str:String = mask+color.toString(16).toUpperCase(); return "#"+str.substr(str.length-6); } ]]--> </mx:Script> <mx:Box id="box" width="200" height="100" backgroundColor="{slider.value}"/> <mx:HSlider id="slider" minimum="0x000000" maximum="0xFFFFFF" liveDragging="true" dataTipFormatFunction="intToHex" width="{box.width}"/> <mx:Label text="{intToHex(slider.value)}"/> </mx:Application> 

 

你可能感兴趣的:(Flex做的颜色器)