第一章 第五节 事件和行为的使用

HTML 应用程序的原理是由客户端发出请求,并从服务器端得到反应。与之不相同的
是,Flex 应用程序是基于事件的/event-based。举个例子,当用户单击一个按钮时,便会触
发一个事件。应用程序本身,不是指服务器,包含了识别事件的逻辑并采取相应的行动。
当事件被触发时修改组件的属性
对某个组件以编程方式进行操作时,为了对某个事件作出反应,必须首先要引用它,这
时你就需要赋予它一个ID 值,如下所示:
<mx:Panel id="myPanel" layout="absolute" width="80%" height="80%" x="122" y="24">
随后你就可以将行为/behavior 添加到应用程序上,当某个事件被触发时改变组件的属
性值,就象这样:
<mx:Button label="Close" right="30" bottom="40" click="myPanel.visible=false"/>
当按钮被单击时,面板的可见属性值被设置为false。
使用 ActionScript 功能函数
你也可以通过编写ActionScript 功能函数,并在事件中调用它来达到相同的目的,在这
种情况下,按钮组件的单击事件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Style source="styles.css" />
<mx:Script>
<![CDATA[
public function close() : void {
myPanel.visible = false;
}
]]>
</mx:Script>
<mx:Panel id="myPanel" layout="absolute" width="80%" height="80%" x="122" y="24">
<mx:TextArea text="Say hello to Flex!" top="10" bottom="70" left="10" right="30" />
<mx:Button label="Close" right="30" bottom="40" click="close();" />
</mx:Panel>
</mx:Application>
ActionScript 功能函数是在MXML 文件里的<mx:Script>块中进行定义的,然后引用到按
钮的单击事件上。
单独的 ActionScript 代码
为了从 MXML 文件中更好地分离出ActionScript 代码,你可以将它们放到单独的
ActionScript 文件中而不是作为函数,然后再将它们导入到MXML 文件里,如下所示:
<mx:Script source="myFunctions.as" />
运用行为和变换增强丰富的视觉互动性
Flex 应用程序是事件驱动的,这就意味着你可以在程序运行时使用事件去添加丰富的视
觉互动性。为了实现它,你使用了一个事件触发器,用其来描述一个行为。
在前面的例子中,面板组件的visible 属性值被设置为false 因而不可见。你还可以通过
使用行为来制造出更强的视觉效果。
下面的例子创建了一个行为,该行为首先创建好一种效果,然后把它绑定到组件的
hideEffect 属性上(触发器):
<mx:Fade id="myFade"/>
<mx:Panel id="myPanel" layout="absolute" width="80%" height="80%"
hideEffect="{myFade}" >
当关闭按钮被单击时,面板组件淡出而不是消失。
触发器和效果还可以组合到更为复杂的行为中,其被称之为变换/transitions。

加支付宝好友偷能量挖...


评论(0)网络
阅读(116)喜欢(0)flash/flex/fcs/AIR