`
strugglesMen
  • 浏览: 117120 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Flex 3 与 Flex 4 之间的区别---状态语法中的变化

阅读更多

 

Flex 4 将状态功能升级为一个全面的 MXML 语言功能。因此,您可能会发现状态更灵活、更直接。新的状态语法内联程度更高,允许在上下文中指定状态特定变化。以下是 Flex 4 语法中的主要区别:

  • 只有状态是在状态阵列中定义的。
  • 在新的状态语法中,不能使用 AddChild 和 RemoveChild。您必须使用 includeIn 和excludeFrom 属性在组件上定义组件在特定状态中的角色。

在以下 Flex 3 示例中,仅当文档的 currentState 为 submitState 时,才使用状态包含一个 Button 并删除一个 TextInput。对于较复杂的状态,这种方法可以做到十分详细。

 

<mx:states>
    <mx:State name="submitState" basedOn="">
        <mx:AddChild relativeTo="{loginForm}" >
           <mx:Button label="submit" bottom="10" right="10"/>
        </mx:AddChild>
        <mx:RemoveChild target="{firstTextInput}"/>
    </mx:State>
</mx:states>
 
<mx:TextInput id="firstTextInput" />
<mx:Canvas id="loginForm" />

 

 

以下是一段使用 includeIn 和 excludeFrom、更简单的 Flex 4 代码。

 

<s:states>
    <s:State name="submitState" />
</s:states>
<s:TextInput id="firstTextInput" excludeFrom="submitState" />
<s:Group id="loginForm" >
    <s:Button label="submit" bottom="10" right="10" includeIn="submitState"/>
</s:Group>

 

 

  • SetPropertySetStyle 和 SetEventHandler 已替换为新的语法,它允许您限定具备特定状态标识符的 MXML 属性值。

在以下 Flex 3 示例中,代码为 submitState 中的一个 Button 定义了属性、样式和事件。

 

<mx:states>
    <mx:State name="submitState" basedOn="">
        <mx:SetProperty target="{submitButton}" name="label" value="submit" />
        <mx:SetStyle target="{submitButton}" name="textDecoration" value="underline"/>
        <mx:SetEventHandler target="{submitButton}" name="click" handler="trace('done');"/>
    </mx:State>
    <mx:State name="clearState" basedOn="">
        <mx:SetProperty target="{submitButton}" name="label" value="clear" />
        <mx:SetEventHandler target="{submitButton}" name="click" handler="emptyDocument()" />
    </mx:State>
</mx:states>
 
<mx:Button id="submitButton" />

 

 

在 Flex 4 中,代码如下:

 

<s:states>
    <s:State name="submitState" />
    <s:State name="clearState" />
</s:states>
 
<s:Button label.submitState="submit" textDecoration.submitState="underline"
   click.submitState="trace('done')" click.clearState="emptyDocument()"
   label.clearState="clear" textDecoration.clearState="none"/>

 

 

  • 组件不能再处于未定义状态或空状态。默认情况下,声明的第一个状态是组件的初始状态。
    当文档使用 MXML 2009 语言命名空间时,可以使用新语法。可以混合使用旧版语法和新版状态语法。只有 MXML 2006 命名空间中可以使用旧版语法。

此外,各个组件现在支持外观类中定义的一组状态,这使得根据组件状态应用可视变化更加简单。例如,如果查看 Spark Button 的外观,您会发现已定义以下状态:

 

<s:states>
    <s:State name="up" />
    <s:State name="over" />
    <s:State name="down" />
    <s:State name="disabled" />
</s:states> 

 

 

ButtonSkin 类定义了各个状态中 Spark Button 在可视方面的变化。

以上只是简要介绍了新的 Flex 4 beta 状态语法。有关更多详细信息,请参阅增强的状态文档*


 

分享到:
评论

相关推荐

    语法分析flex-2.5.2

    Flex是广泛应用于解析和编译领域的一个开源工具,主要用于生成词法分析器(lexer),它能够自动识别输入源代码中的模式并将其转换为相应的符号。标题提到的是Flex 2.5.2版本,这是一个特定的历史版本,可能包含了该...

    FLEX4_Flex4教程 - FLEX4从入门到精通,挺不错的值得一看

    4. **States和Transitions**:Flex4中的States和Transitions机制允许开发者轻松管理UI的不同状态,比如在不同视图之间切换,以及添加平滑的动画效果,提高用户体验。 5. **数据绑定**:Flex4的数据绑定功能使得UI...

    Flex 4的十大变化

    1. **Adobe Catalyst集成**:Flex 4与Adobe Catalyst的结合允许设计师和开发者更加高效地协同工作。Catalyst是一款无需编码的设计工具,它理解开发者和设计师的工作流程差异,使得双方能够专注于各自的专业领域。...

    Flex教程系列之(四) AS3语法——面对对象编程

    Flex教程系列之(一) AS3语法——编程基础 http://download.csdn.net/source/1161756 Flex教程系列之(二) AS3语法——流程控制语句 http://download.csdn.net/source/1161804 Flex教程系列之(三) AS3语法——控制...

    flex4之语法入门

    ### Flex4之语法入门知识点详解 #### 一、Flex概览及重要性 **Flex** 是 Adobe 公司推出的一款用于开发和部署 **富互联网应用程序(RIAs)** 的工具和技术集合。RIAs 提供了相较于传统 HTML 应用更为丰富的用户体验...

    flex4视频教程-语法基础

    flex4视频教程之语法基础,教程讲的比较详细,帮助初学者很有好处!

    flexbison语法分析自动生成工具的使用教程

    Flex和Bison是两个在编译原理领域广泛应用的开源工具,它们主要用于自动生成词法分析器(lexer)和语法分析器(parser)。本教程将详细讲解如何使用这两个工具来构建一个简单的编译程序。 Flex(以前称为lex)是一...

    flex3d效果展示

    这种数据交互能力使得Flex3D不仅限于展示,还能动态地更新和响应来自服务器的数据,例如在网络拓扑图中实时显示设备状态变化。 在文件名“Flex3d动画引擎_效果展示”中,我们可以推断出这是一个关于Flex3D动画引擎...

    flex-MXML语法

    flex -MXML语法,介绍flex 的 mxml的基本语法构成,适合一般学习者使用

    跟我StepByStep学FLEX教程------王一松.pdf

    - **Flex与Java通信**:通过BlazeDS实现Flex前端与Java后端之间的实时数据交换。 - **BlazeDS**:一款开源服务器,用于连接Flex客户端与Java服务器。 - **远程对象**:用于在客户端和服务器之间传递数据的对象。 ...

    跟我StepByStep学FLEX教程------王一松

    - **AMF简介**:AMF(Action Message Format)是一种用于Flex与服务器之间传输数据的二进制格式。 - **优势分析**:比较AMF与其他数据交换格式的优缺点。 #### 26. Demo12:FLEX和Spring整合 - **Spring框架介绍**...

    flex语法教程,关于flex

    关于flex的教程,目前flex教材比较少,教材更是更少了

    flex与bison安装包

    Flex和Bison是两款在软件开发领域中广泛使用的开源工具,尤其在编译器和解释器的构造过程中扮演着重要角色。本安装包包含了这两个工具的安装程序,为QGIS(一个开源地理信息系统)的编译提供必要的组件。 Flex,...

    Windows下词法分析分析器Flex和语法分析器bison的使用说明.pdf

    《Windows下词法分析分析器Flex和语法分析器Bison的使用详解》 在计算机科学领域,词法分析和语法分析是编译器设计的重要环节。Flex和Bison是两个强大的开源工具,分别用于词法分析和语法分析,尤其在Windows环境下...

    Flex学习笔记-基本语法

    在本文中,我们将深入探讨Flex学习过程中的基础语法,特别是从AS2到AS3的变化。 首先,ActionScript 3(AS3)是AS的一个重大升级,它引入了完全的面向对象编程(OOP)概念。这意味着AS3具有类、继承、封装和多态性...

    Flex4视频教程_01-02AS语法基础.rar

    这个“Flex4视频教程_01-02AS语法基础.rar”文件是一个压缩包,包含了初学者学习Flex4开发所必需的基础知识,特别是关于ActionScript 3.0的语法。 ActionScript 3.0是Flash平台的核心编程语言,相较于之前的版本,...

    Flex4中文帮助文档

    - **基础教程**:了解Flex4的基本语法和组件使用,如MXML元素、ActionScript类和Spark组件。 - **高级主题**:深入研究数据绑定、事件处理、动画效果、服务调用等高级特性。 - **最佳实践**:学习如何优化性能、...

    flex3语言参考手册

    3. **事件处理**:在Flex中,事件是用户交互和组件之间通信的主要方式。学习如何注册事件监听器,处理不同类型的事件,如鼠标点击、键盘输入等。 4. **MXML**:MXML是Flex的标记语言,用于声明式地构建用户界面。...

Global site tag (gtag.js) - Google Analytics