积少成多Flash(10) - Flex 3.0 状态转换(State), 状态转换的过渡效果(State Transition), 自定义鼠标指针

简介:

[索引页]

[源码下载]


积少成多Flash(10) - Flex 3.0 状态转换(State), 状态转换的过渡效果(State Transition), 自定义鼠标指针


作者: webabcd


介绍
演示 Flex 3.0 中的转换状态及转换状态中的过度效果,自定义鼠标指针 
  • 状态转换(State) - 对 UI 状态,以某一种编程模型做转换 
  • 状态转换的过渡效果(State Transition) - 设置 UI 状态的转换过程中的过渡效果 
  • 自定义鼠标指针 - 对鼠标指针的样式做自定义设置


在线DEMO
http://www.cnblogs.com/webabcd/archive/2009/11/09/1598980.html 


1、演示 State 的应用
State.mxml
<?xml version="1.0" encoding="utf-8"?> 
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300" 
        title="State (状态的应用)"> 

        <mx:states> 
                <mx:State name="state2">                        
                             <!-- 
                                     <mx:AddChild /> - 在指定的关联控件的指定位置新增指定的控件 
                                             relativeTo - 关联的控件 
                                             position - 在关联控件的指定位置增加控件 
                                                     关联控件为元素类型则此处可能的值为:before 或 after     
                                                     关联控件为集合类型则此处可能的值为:firstChild 或 lastChild 
                                     <mx:SetProperty /> - 设置指定控件的某属性的值 
                                     <mx:RemoveChild /> - 移除指定的控件 
                             --> 
                        <mx:AddChild relativeTo="{form}" position="lastChild"> 
                                <mx:FormItem label="Label2:"> 
                                        <mx:TextInput/> 
                                </mx:FormItem> 
                        </mx:AddChild> 
                        <mx:SetProperty target="{panel}" name="title" value="状态2"/> 
                        <mx:RemoveChild target="{toggle}"/> 
                                             
                        <mx:AddChild relativeTo="{bar}" position="firstChild"> 
                                <!-- 
                                        设置状态为空,即转换到原始状态 
                                --> 
                                <mx:LinkButton label="转换到状态1" click="this.currentState=''"/> 
                        </mx:AddChild> 
                </mx:State> 
        </mx:states> 

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

        <mx:Panel id="panel" title="状态1"> 
                 
                <mx:Form id="form"> 
                        <mx:FormItem label="Label1:"> 
                                <mx:TextInput/> 
                        </mx:FormItem> 
                </mx:Form> 
                 
                <mx:ControlBar id="bar">                                        
                        <mx:LinkButton id="toogleTo2" label="转换到状态2" click="this.currentState='state2'" /> 
                </mx:ControlBar> 
        </mx:Panel> 
         
</mx:Panel>
 
 
3、演示如何自定义鼠标指针
Cursor.mxml
<?xml version="1.0" encoding="utf-8"?> 
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300" 
        title="Cursor 自定义鼠标指针"> 
         
            <mx:Script> 
                <![CDATA[ 

                        import mx.managers.CursorManager; 

                        // 以 类 的形式引用内嵌资源。(另一种以字符串的形式引用内嵌资源的方式:@Embed('images/logo.png')) 
                        [Embed(source="images/logo.png")] 
                        private var customCursor:Class;     
                         
                        private function cursorChange(e:Event):void 
                        { 
                                switch (radioGroup.selectedValue) 
                                { 
                                        // 正常时候的鼠标指针 
                                        case "Normal" : 
                                                CursorManager.removeAllCursors(); 
                                                break; 
                                        // 繁忙时,鼠标指针的样式 
                                        case "Busy" : 
                                                CursorManager.removeAllCursors(); 
                                                CursorManager.setBusyCursor(); 
                                                break; 
                                        // 自定义鼠标指针的样式 
                                        case "Custom" : 
                                                CursorManager.removeAllCursors();                                         
                                                CursorManager.setCursor(customCursor); 
                                        default : 
                                                break; 
                                } 
                        } 
                                                 
                ]]> 
        </mx:Script> 
         
        <mx:RadioButtonGroup id="radioGroup" change="cursorChange(event);"/> 
        <mx:RadioButton x="10" y="10" label="普通指针" value="Normal" groupName="radioGroup" selected="true"/> 
        <mx:RadioButton x="10" y="36" label="繁忙指针" value="Busy" groupName="radioGroup"/> 
        <mx:RadioButton x="10" y="62" label="自定义指针" value="Custom" groupName="radioGroup"/> 

</mx:Panel>
 
 




     本文转自webabcd 51CTO博客,原文链接: http://blog.51cto.com/webabcd/342237 ,如需转载请自行联系原作者
相关文章
|
3月前
dragonBones slot切换display的一个bug
dragonBones slot切换display的一个bug
17 0
|
前端开发 JavaScript
CSS实现禁用状态,样式设置以及不可点击事件的行为
CSS实现禁用状态,样式设置以及不可点击事件的行为
3154 0
|
5月前
|
JavaScript
checkbox选中和取消,控制dom元素颜色变化
checkbox选中和取消,控制dom元素颜色变化
26 0
|
9月前
|
小程序
小程序:picker-view选择器快速滚动,确认时,”值显示错误“
小程序:picker-view选择器快速滚动,确认时,”值显示错误“
92 0
|
前端开发 JavaScript
style样式优先级问题【display:block依旧无法显示DOM元素】
style样式优先级问题【display:block依旧无法显示DOM元素】
153 0
style样式优先级问题【display:block依旧无法显示DOM元素】
|
JavaScript 开发者
组件切换-应用切换动画和 mode 方式|学习笔记
快速学习组件切换-应用切换动画和 mode 方式
89 0
组件切换-应用切换动画和 mode 方式|学习笔记
|
JavaScript 开发者
动画-小球动画 flag 标识符的作用分析|学习笔记
快速学习动画-小球动画 flag 标识符的作用分析
131 0
动画-小球动画 flag 标识符的作用分析|学习笔记
|
JavaScript 开发者
动画-transition-group 中 appear 和 tag 属性的作用|学习笔记
快速学习动画- transition-group 中 appear 和 tag 属性的作用
197 0
动画-transition-group 中 appear 和 tag 属性的作用|学习笔记
|
JavaScript 开发者
动画-小球动画flag标识符的作用分析|学习笔记
快速学习动画-小球动画flag标识符的作用分析
80 0
动画-小球动画flag标识符的作用分析|学习笔记
|
JavaScript
transition-group列表过渡
《Vue实战》笔记
80 0