Flex应用程序中事件和行为怎么用
小编给大家分享一下Flex应用程序中事件和行为怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Flex应用程序中事件和行为的使用
HTML应用程序的原理是由客户端发出请求,并从服务器端得到反应。与之不相同的是,Flex应用程序是基于事件的/event-based。举个例子,当用户单击一个按钮时,便会触发一个事件。应用程序本身,不是指服务器,包含了识别事件的逻辑并采取相应的行动。
◆Flex应用程序中当事件被触发时修改组件的属性
对某个组件以编程方式进行操作时,为了对某个事件作出反应,必须首先要引用它,这时你就需要赋予它一个ID值,如下所示:
<mx:Panelidmx:Panelid="myPanel"layout="absolute"width="80%"height="80%"x="122"y="24">
随后你就可以将行为/behavior添加到应用程序上,当某个事件被触发时改变组件的属性值,就象这样:
<mx:Buttonlabelmx:Buttonlabel="Close"right="30"bottom="40"click="myPanel.visible=false"/>
当按钮被单击时,面板的可见属性值被设置为false。
◆Flex应用程序中使用ActionScript功能函数
你也可以通过编写ActionScript功能函数,并在事件中调用它来达到相同的目的,在这种情况下,按钮组件的单击事件如下所示:
<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"> <mx:Stylesourcemx:Stylesource="styles.css"/> <mx:Script> <![CDATA[ publicfunctionclose():void{ myPanel.visible=false; } ]]> </mx:Script> <mx:Panelidmx:Panelid="myPanel"layout="absolute"width="80%"height="80%"x="122"y="24"> <mx:TextAreatextmx:TextAreatext="SayhellotoFlex!"top="10"bottom="70"left="10"right="30"/> <mx:Buttonlabelmx:Buttonlabel="Close"right="30"bottom="40"click="close();"/> </mx:Panel> </mx:Application>
ActionScript功能函数是在MXML文件里的<mx:Script>块中进行定义的,然后引用到按钮的单击事件上。
◆单独的ActionScript代码
为了从MXML文件中更好地分离出ActionScript代码,你可以将它们放到单独的ActionScript文件中而不是作为函数,然后再将它们导入到MXML文件里,如下所示:
<mx:Scriptsourcemx:Scriptsource="myFunctions.as"/>
◆运用行为和变换增强丰富的视觉互动性
Flex应用程序是事件驱动的,这就意味着你可以在程序运行时使用事件去添加丰富的视觉互动性。为了实现它,你使用了一个事件触发器,用其来描述一个行为。
在前面的例子中,面板组件的visible属性值被设置为false因而不可见。你还可以通过使用行为来制造出更强的视觉效果。
下面的例子创建了一个行为,该行为首先创建好一种效果,然后把它绑定到组件的hideEffect属性上(触发器):
<mx:Fadeidmx:Fadeid="myFade"/> <mx:Panelidmx:Panelid="myPanel"layout="absolute"width="80%"height="80%" hideEffect="{myFade}">
当关闭按钮被单击时,面板组件淡出而不是消失。
触发器和效果还可以组合到更为复杂的行为中,其被称之为变换/transitions。
以上是“Flex应用程序中事件和行为怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341