温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Flex4beta状态语法中的变化是什么

发布时间:2022-01-04 10:11:04 来源:亿速云 阅读:145 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关Flex4beta状态语法中的变化是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Flex4beta状态语法中的变化

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

◆只有状态是在状态阵列中定义的。

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

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

<mx:states> <mx:Statenamemx:Statename="submitState"basedOn=""> <mx:AddChildrelativeTomx:AddChildrelativeTo="{loginForm}"> <mx:Buttonlabelmx:Buttonlabel="submit"bottom="10"right="10"/> </mx:AddChild><mx:RemoveChildtargetmx:RemoveChildtarget="{firstTextInput}"/> </mx:State></mx:states <mx:TextInputidmx:TextInputid="firstTextInput"/> <mx:Canvasidmx:Canvasid="loginForm"/>

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

<s:states> <s:Statenames:Statename="submitState"/> </s:states><s:TextInputids:TextInputid="firstTextInput"excludeFrom="submitState"/> <s:Groupids:Groupid="loginForm"> <s:Buttonlabels:Buttonlabel="submit"bottom="10"right="10"includeIn="submitState"/> </s:Group>

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

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

<mx:states><mx:Statenamemx:Statename="submitState"basedOn="">  <mx:SetPropertytargetmx:SetPropertytarget="{submitButton}"name="label"value="submit"/>  <mx:SetStyletargetmx:SetStyletarget="{submitButton}"name="textDecoration"value="underline"/>  <mx:SetEventHandlertargetmx:SetEventHandlertarget="{submitButton}"name="click"  handler="trace('done');"/>  </mx:State><mx:Statenamemx:Statename="clearState"basedOn="">  <mx:SetPropertytargetmx:SetPropertytarget="{submitButton}"name="label"  value="clear"/>  <mx:SetEventHandlertargetmx:SetEventHandlertarget="{submitButton}"name="click"  handler="emptyDocument()"/>  </mx:State></mx:states>  <mx:Buttonidmx:Buttonid="submitButton"/>

在Flex4beta中,代码如下:

<s:states> <s:Statenames:Statename="submitState"/> <s:Statenames:Statename="clearState"/> </s:states><s:Buttonlabel.submitStates:Buttonlabel.submitState="submit" textDecoration.submitState="underline"click.submitState="trace('done')  "click.clearState="emptyDocument()  "label.clearState="clear"textDecoration.clearState="none"/>

◆组件不能再处于未定义状态或空状态。默认情况下,声明的***个状态是组件的初始状态。

当文档使用MXML2009语言名称空间时,可以使用新语法。可以混合使用旧版语法和新版状态语法。只有MXML2006名称空间中可以使用旧版语法。
此外,各个组件现在支持外观类中定义的一组状态,这使得根据组件状态应用可视变化更加简单。例如,如果查看SparkButton的外观,您会发现已定义以下状态:

<s:states> <s:Statenames:Statename="up"/> <s:Statenames:Statename="over"/> <s:Statenames:Statename="down"/> <s:Statenames:Statename="disabled"/> </s:states>

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

关于“Flex4beta状态语法中的变化是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI