`
starbhhc
  • 浏览: 654205 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

flex编程实现State

    博客分类:
  • Flex
阅读更多
在Flash Builder 4 Beta 2版本中,使用mxml方式实现state的切换有了很大改进,使用起来更方便,具体可参见下文:

http://onflex.org/learn/fx4/index.php?page=States

看完这篇文章后,想到一个问题,如何用变成的方式实现切换呢,找了参考资料,实现了一个例子,代码如下:

开发环境:Flash Builder 4 Beta2

<?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"
    creationComplete="creationCompleteHandler(event)">
    <fx:Script>
        <![CDATA[
            import mx.core.UIComponent;
            import mx.events.FlexEvent;
            import mx.states.SetProperty;
            import mx.states.State;
           
            import spark.components.Label;
            import spark.components.Panel;

            private var stateArray : Array;
            private var state1 : State;
            private var state2 : State;
           
            protected function creationCompleteHandler(event:FlexEvent):void
            {
                state1 = new State();
                state1.name="state1";
               
                state2 = new State();
                state2.name="state2";
               
                var stateArray1:Array = new Array();
                var stateArray2:Array = new Array();
               
                state1.overrides = stateArray1;
                state2.overrides = stateArray2;
               
                stateArray = new Array();
                stateArray.push(state1);
                stateArray.push(state2);
                this.states = stateArray;
               
                var panel:Panel = new Panel();
                group.addElement(panel);
                var label:Label = new Label();
                panel.addElement(label);
               
                buildStates(stateArray1, stateArray2, panel, label);
                this.currentState = "state1";
            }

            private function buildStates(stateArray1:Array, stateArray2:Array,
                compenent1:UIComponent, compenent2:UIComponent) : void{
               
                stateArray1.push(makeSetProp(compenent1, "title", "Panel1"));           
                stateArray1.push(makeSetProp(compenent2, "text", "One"));
               
                stateArray2.push(makeSetProp(compenent1, "title", "Panel2"));
                stateArray2.push(makeSetProp(compenent2, "text", "Two"));
            }
           
            private function makeSetProp(target:UIComponent, name:String, value:*):SetProperty{
                var sp:SetProperty = new SetProperty();
                sp.target = target;
                sp.name = name;
                sp.value = value;
                return sp;
            }
        ]]>
    </fx:Script>
       
    <s:VGroup autoLayout="true" horizontalAlign="center">
        <s:HGroup horizontalCenter="0">           
            <s:Button label="One"
                click="this.currentState='state1'"/>           
            <s:Button label="Two"
                click="this.currentState='state2'"/>           
        </s:HGroup>
        <s:HGroup id="group" horizontalCenter="0">           
        </s:HGroup>
    </s:VGroup>
   
</s:Application>
分享到:
评论

相关推荐

    Flex Arcgis rest编程使用

    4. 创建Flex应用程序,利用API提供的类和方法实现地图展示、图层控制、查询、分析等功能。 5. 进行测试和优化,最终发布Flex应用。 Flex的优势在于广泛的浏览器兼容性和丰富的用户界面组件,而REST服务则提供了高效...

    Flex Service

    Flex提供了MXML和ActionScript两种编程语言,使得UI设计和业务逻辑的分离更加清晰。 在Flex与Web服务的整合中,Web服务通常作为数据提供者,而Flex作为前端展示层。Web服务可以是SOAP(简单对象访问协议)或RESTful...

    Flex语言开发介绍及实例

    在标题"Flex语言开发介绍及实例"中,我们可以理解到这将涵盖Flex的基本概念、语法特性以及通过实例来展示如何进行Flex编程。Flex主要使用ActionScript,这是一种基于ECMAScript的脚本语言,与JavaScript有着密切关系...

    编译原理flex工具包

    5. 实战应用:通过实例项目,如简单的计算器或编程语言解析器,来实践Flex的使用。 在提供的压缩包文件中,"flex文件"可能包含了Flex的源代码、示例项目、教程文档或者预编译好的二进制工具。解压后,你可以通过...

    FLex 物品分类游戏

    在Flex中,主要依赖MXML和ActionScript两种编程语言。MXML是声明式的标记语言,用于定义UI组件和布局,而ActionScript则是一种面向对象的脚本语言,处理程序逻辑和交互。在这个游戏中,可能使用了Flex提供的各种组件...

    flex4与java结合实例

    在Flex4中,主要使用ActionScript3作为编程语言,它提供了丰富的组件库和强大的图形渲染能力。通过Flash Builder或IntelliJ IDEA等集成开发环境(IDE),开发者可以构建Flex4应用,并与Java后台进行通信。 Java作为...

    flex+php.rar_Flex+PHP_PHP Flex_felx p_flex_flex php

    - Flex项目通常使用MXML和ActionScript进行开发,MXML用于定义UI组件,而ActionScript则是面向对象的编程语言,用于处理逻辑和事件处理。 - Flex SDK提供了一系列组件,如Button、Label、List等,开发者可以通过...

    Flex 简单的几个实例 

    Flex是Adobe公司开发的一种富互联网应用程序(RIA)框架,它基于ActionScript编程语言和MXML标记语言,主要用于创建交互式的、动态的Web应用程序。在本篇文章中,我们将深入探讨Flex中的"States Transitions"概念,...

    Flex Arcgis Server rest 入门简单图解

    Flex ArcGIS Server REST入门简单图解是一篇针对GIS开发初学者的文章,主要...在实际开发中,你还需要学习Flex编程语法、GIS概念以及ArcGIS API for Flex的详细文档,以便更好地利用这些工具创建功能丰富的地图应用。

    我的flex资料1

    2. **ActionScript 3**:作为Flex的后端编程语言,你需要熟悉其语法、类库和面向对象编程特性,以实现业务逻辑和数据处理。 3. **Flex组件**:Flex提供了一系列预定义的UI组件,如按钮、文本输入框、列表等,了解...

    Flex4创建页面

    ### Flex4创建页面知识点详解 ...通过以上内容的详细介绍,我们可以清晰地理解如何在Flex4中创建页面(状态),并实现页面间的逻辑切换及数据绑定。这对于构建复杂且交互丰富的Flex应用来说是非常重要的。

    Flex 模拟CheckBox多状态切换

    在Flex编程中,我们经常会遇到需要创建自定义组件来满足特定功能需求的情况。"Flex模拟CheckBox多状态切换"就是这样一个例子,它扩展了标准的CheckBox组件,提供了√、×、和○三种状态供用户选择,以实现更丰富的...

    android获取网络状态Flex开发

    总之,使用Flex在Android平台上监测网络状态涉及到多个层面的知识,包括Flex框架本身、Android系统权限管理以及网络编程的基本原理。掌握这些知识点,将有助于开发者创建出更加智能、适应性强的移动应用。

    Flex 3企业级 Web应用系统设计与实现

    本篇文章将深入探讨Flex 3在企业级Web应用系统设计与实现中的关键技术和实践。 一、Flex 3基础 1. MXML与ActionScript 3.0:Flex 3主要由MXML和ActionScript 3.0组成。MXML是一种声明式语言,用于定义UI组件和布局...

    FlexGrocer.rar_flex

    1. **Flex编程基础**:Flex是基于ActionScript语言和MXML标记语言的,ActionScript是基于ECMAScript的一个面向对象的语言,用于处理动态行为和交互逻辑;MXML则用于定义用户界面布局和组件结构。 2. **Flex SDK**:...

    flex+java增删改查(spring+jpa)简单例子

    标题 "flex+java增删改查(spring+jpa)简单例子" 暗示了这是一个关于使用Adobe Flex作为前端UI框架,与Java后端结合,实现数据的CRUD(创建、读取、更新、删除)操作的教程。在这个场景中,Java后端使用Spring框架...

Global site tag (gtag.js) - Google Analytics