menu
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.collections.ArrayCollection; [Embed(source="qq.png")] private var icon1:Class; [Bindable] private var user1:ArrayCollection = new ArrayCollection([ {label:"lee",data:1,tool:"ps",icon:icon1}, {label:"lei",data:2,tool:"java",icon:icon1}, {label:"huang",data:3,tool:"c#",icon:icon1} ]) private function changeFn(e:Event):void{ //Alert.show(cbx1.selectedItem.tool.toString()); } ]]> </fx:Script> <mx:ComboBox id="cbx1" height="50" selectedIndex="1" dataProvider="{user1}" width="150" change="changeFn(event)" /> </s:Application>
mx:ComboBox
2、带隐藏的导航
<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ private var backBool:Boolean=true; private function backHandler():void{ backBtn.addEventListener(Event.ENTER_FRAME,enterFrameHandler); } private function enterFrameHandler(event:Event):void{ if(backBool){ if(btnGroup.y>-30){ btnGroup.y-=5; if(btnGroup.y==-30){ backBool=!backBool; backBtn.removeEventListener(Event.ENTER_FRAME,enterFrameHandler); } } }else{ if(btnGroup.y<0){ btnGroup.y+=5; if(btnGroup.y==0){ backBool=!backBool; backBtn.removeEventListener(Event.ENTER_FRAME,enterFrameHandler); } } } } ]]> </mx:Script> <mx:VBox id="btnGroup" y="0" width="100%" backgroundColor="#eeeeee" paddingTop="5" paddingLeft="5" paddingRight="5" paddingBottom="5"> <mx:HBox> <mx:Button id="searchButton" label="Search Panel" click="myViewStack.selectedChild=search;"/> <mx:Button id="cInfoButton" label="Customer Info Panel" click="myViewStack.selectedChild=custInfo;"/> <mx:Button id="aInfoButton" label="Account Panel" click="myViewStack.selectedChild=accountInfo;"/> </mx:HBox> <mx:Button id="backBtn" label="back" click="backHandler()"/> </mx:VBox> <mx:ViewStack y="70" id="myViewStack" borderStyle="solid" width="100%" height="80%"> <mx:Canvas id="search" backgroundColor="#FFFFCC" label="Search" width="100%" height="100%"> <mx:Label text="Search Screen" color="#000000"/> </mx:Canvas> <mx:Canvas id="custInfo" backgroundColor="#CCFFFF" label="Customer Info" width="100%" height="100%"> <mx:Label text="Customer Info" color="#000000"/> </mx:Canvas> <mx:Canvas id="accountInfo" backgroundColor="#FFCCFF" label="Account Info" width="100%" height="100%"> <mx:Label text="Account Info" color="#000000"/> </mx:Canvas> </mx:ViewStack> </mx:Application>
3、 菜单栏 变色 滤镜
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" > <mx:XMLList id="myXMLList"> <!-- 添加菜单项 --> <menuiem id="menu1"> <menuiem id="SubMenu11" type="radio" groupName="one"/> <menuiem id="SubMenu12" type="radio" groupName="one"/> </menuiem> <menuiem id="menu2"> <menuiem id="SubMenu21" type="radio" groupName="two"/> <menuiem id="SubMenu22" type="radio" groupName="two"/> </menuiem> <menuiem id="menu3"> <menuiem id="SubMenu31" type="radio" groupName="three"/> <menuiem id="SubMenu32" type="radio" groupName="three"/> </menuiem> <menuiem id="menu4"> <menuiem id="SubMenu41" type="radio" groupName="four"/> <menuiem id="SubMenu42" type="radio" groupName="four"/> </menuiem> </mx:XMLList> <!-- 设置菜单项的状态 --> <mx:states> <mx:State name="index1"> <!--新建“index1”状态--> <mx:AddChild position="lastChild"> <!--添加VBox组件,组件颜色为“#FFFFFF”,透明度为0.5--> <mx:VBox id="myVBox1" x="{myMenuBar.x}" y="{myMenuBar.y+myMenuBar.height}" width="{myMenuBar.width}" height="248" backgroundColor="#FFFFFF" backgroundAlpha="0.5" fontSize="12"> </mx:VBox> </mx:AddChild> </mx:State> <mx:State name="index2"> <!--新建“index2”状态--> <mx:AddChild position="lastChild"> <!--添加VBox组件,组件颜色为“#F5E531”,透明度为0.5--> <mx:VBox id="myVBox2" x="{myMenuBar.x}" y="{myMenuBar.y+myMenuBar.height}" width="{myMenuBar.width}" height="248" backgroundColor="#F5E531" backgroundAlpha="0.5"> </mx:VBox> </mx:AddChild> </mx:State> </mx:states> <!--定义一级菜单切换效果--> <mx:transitions> <!--可以重复--> <mx:Transition id="myTransition1" fromState="*" toState="index1"> <mx:Parallel target="{myVBox1}"> <mx:WipeDown duration="2000"/> <mx:Dissolve alphaFrom="0.0" alphaTo="1.0" duration="2000"/> </mx:Parallel> </mx:Transition> <mx:Transition id="myTransition5" fromState="*" toState="index2"><!-- 从状态*到状态index2 --> <mx:Parallel target="{myVBox2}"> <mx:Blur blurXFrom="0" blurXTo="50" duration="2000"/><!--横坐标向外模糊50个像素 --> <mx:Dissolve alphaFrom="0.0" alphaTo="1.0" duration="2000"/> </mx:Parallel> </mx:Transition> </mx:transitions> <mx:Script> <!-- 定义状态的切换--> <![CDATA[ import mx.events.MenuEvent; private function menuClickHandle(e:MenuEvent):void { if (e.label == "menu1"||e.label =="menu2"||e.label =="menu3"||e.label =="menu4") currentState = "index1"; else if (e.label == "SubMenu11"||e.label == "SubMenu12"||e.label == "SubMenu21"||e.label == "SubMenu22"||e.label == "SubMenu31"||e.label == "SubMenu32"||e.label == "SubMenu41"||e.label == "SubMenu42") currentState = "index2"; } ]]> </mx:Script> <mx:MenuBar id="myMenuBar" y="40" width="414" dataProvider="{myXMLList}" labelField="@id" showRoot="false" horizontalCenter="0" change="menuClickHandle(event)" height="36"> </mx:MenuBar> </mx:Application>