演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针

演示 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针

1、演示 State 的应用
State.mxml

演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针<?xml version="1.0" encoding="utf-8"?>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300"
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    title
="State (状态的应用)">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:states>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
<mx:State name="state2">           
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针               
<!--
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                   <mx:AddChild /> - 在指定的关联控件的指定位置新增指定的控件
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                       relativeTo - 关联的控件
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                       position - 在关联控件的指定位置增加控件
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                           关联控件为元素类型则此处可能的值为:before 或 after  
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                           关联控件为集合类型则此处可能的值为:firstChild 或 lastChild
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                   <mx:SetProperty /> - 设置指定控件的某属性的值
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                   <mx:RemoveChild /> - 移除指定的控件
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针               
-->
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:AddChild relativeTo="{form}" position="lastChild">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
<mx:FormItem label="Label2:">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    
<mx:TextInput/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
</mx:FormItem>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
</mx:AddChild>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:SetProperty target="{panel}" name="title" value="状态2"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:RemoveChild target="{toggle}"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                      
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:AddChild relativeTo="{bar}" position="firstChild">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
<!--
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    设置状态为空,即转换到原始状态
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
-->
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
<mx:LinkButton label="转换到状态1" click="this.currentState=''"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
</mx:AddChild>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
</mx:State>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
</mx:states>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<!--
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        以下为 状态1 的 ui
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
-->
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:Panel id="panel" title="状态1">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
<mx:Form id="form">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:FormItem label="Label1:">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
<mx:TextInput/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
</mx:FormItem>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
</mx:Form>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
<mx:ControlBar id="bar">                   
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<!--
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                ui 状态转换到名为 state2 的 <mx:State />
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
-->
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:LinkButton id="toggle" label="转换到状态2" click="this.currentState='state2'" />
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
</mx:ControlBar>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
</mx:Panel>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
</mx:Panel>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针



2、演示 State Transition 的应用
StateTransition.mxml

演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针<?xml version="1.0" encoding="utf-8"?>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300"
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    title
="State Transition (状态过渡的应用)">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:Script>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
<![CDATA[
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            import mx.effects.easing.Bounce;
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
]]>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
</mx:Script>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<!--
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        <mx:Transition /> - 用于设置状态转换间的过渡效果
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
-->
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:transitions>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
<mx:Transition>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:Parallel targets="{[panel, toogleTo1, toogleTo2, formItem]}">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
<mx:Resize duration="500" easingFunction="Bounce.easeOut"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
<mx:Sequence target="{formItem}">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    
<mx:Blur duration="200" blurYFrom="1.0" blurYTo="20.0"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    
<mx:Blur duration="200" blurYFrom="20.0" blurYTo="1"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                 
</mx:Sequence>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
</mx:Parallel>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
</mx:Transition>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
</mx:transitions>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<!--
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        以下关于状态转换的部分参见 State.mxml
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
-->
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:states>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
<mx:State name="state2">           
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:AddChild relativeTo="{form}" position="lastChild">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
<mx:FormItem id="formItem" label="Label2:">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    
<mx:TextInput/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
</mx:FormItem>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
</mx:AddChild>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:SetProperty target="{panel}" name="title" value="状态2"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针   
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:RemoveChild target="{toogleTo2}"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                      
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:AddChild relativeTo="{bar}" position="firstChild">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
<mx:LinkButton id="toogleTo1" label="转换到状态1" click="this.currentState=''"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
</mx:AddChild>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
</mx:State>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
</mx:states>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:Panel id="panel" title="状态1">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
<mx:Form id="form">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:FormItem label="Label1:">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                
<mx:TextInput/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
</mx:FormItem>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
</mx:Form>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
<mx:ControlBar id="bar">                   
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
<mx:LinkButton id="toogleTo2" label="转换到状态2" click="this.currentState='state2'" />
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
</mx:ControlBar>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
</mx:Panel>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
</mx:Panel>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针



3、演示如何自定义鼠标指针
Cursor.mxml

演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针<?xml version="1.0" encoding="utf-8"?>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300"
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    title
="Cursor 自定义鼠标指针">
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针      
<mx:Script>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
<![CDATA[
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            import mx.managers.CursorManager;
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            // 以 类 的形式引用内嵌资源。(另一种以字符串的形式引用内嵌资源的方式:@Embed('images/logo.png'))
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            [Embed(source="images/logo.png")]
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            private var customCursor:Class;  
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            private function cursorChange(e:Event):void
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            {
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                switch (radioGroup.selectedValue)
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                {
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    // 正常时候的鼠标指针
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    case "Normal" :
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                        CursorManager.removeAllCursors();
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                        break;
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    // 繁忙时,鼠标指针的样式
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    case "Busy" :
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                        CursorManager.removeAllCursors();
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                        CursorManager.setBusyCursor();
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                        break;
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    // 自定义鼠标指针的样式
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    case "Custom" :
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                        CursorManager.removeAllCursors();                    
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                        CursorManager.setCursor(customCursor);
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                    default :
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                        break;
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                }
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针            }
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针                        
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针        
]]>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
</mx:Script>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:RadioButtonGroup id="radioGroup" change="cursorChange(event);"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:RadioButton x="10" y="10" label="普通指针" value="Normal" groupName="radioGroup" selected="true"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:RadioButton x="10" y="36" label="繁忙指针" value="Busy" groupName="radioGroup"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针    
<mx:RadioButton x="10" y="62" label="自定义指针" value="Custom" groupName="radioGroup"/>
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
演练 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针
</mx:Panel>