Flex创建过渡和行为
1、在组件上使用行为
行为是预先构建的动画,它可以直接应用于包括用户自定义组件之内的所有组件,过渡只是用于程序状态的简单效果。
下面列举了一些组件或程序状态可以使用的效果:
a、 浅入、 淡出
b、 向内溶解,向外溶解
c、 移动或重新调整组件
d、 旋转组件
e、 缩放
f、 从左、右、上、下显示
g、 使用其他视觉效果,如光亮和光圈
h、 使用音效
对组件使用的行为包含两个部分:
A、 触发器 就是指动作,比如用户单击按钮、组件获得焦点或者组件变为可见
B、 效果 指一段时间内组件在视觉和听觉上的改变
组件都有触发器,但是这些触发器只在与其他动作相关联时才会发生作用。
注意: 触发器并不是事件,按钮既有mouseDownEffect触发器又有mouseDown事件。触发器就是促使事件发生,而事件为本身指定了事件发生时的自定义事件处理程序。而使用mouseDownEffect触发器则没必要指定事件处理程序,只要指定想要产生的行为。在触发器上可以指定多个效果,可以使用的行为触发器如下:
focusInEffect
focusOutEffect
hideEffect
mouseDownEffect
mouseUpEffect
rolloutEffect
rolloverEffect
showEffect
为了向组件使用效果,需要把触发器的名字属性设为Effect类的名字。如果在组件内定义触发器,那么只能声明一个效果,而且还不能自定义这个效果。
<mx:list id="myList" showEffect="Fade"/>
通过<mx:Parallel>和<mx:Sequence>标签,可以对组件使用多个效果(在同一个触发器上)。<mx:Parallel>指定效果同时发生,<mx:Sequence>指定效果按顺序依次发生。
2、 在视图状态上使用过渡
Transaction类的一些属性:fromState, toState, Effect
为了使用过渡,必须用一个小写的<mx:transactions>标签快来包围若干个<mx:Transaction>标签。
<mx:transactions>
<mx:Transaction id="myTransaction1"
fromState="state1" toState="state2">
<mx:Sequence targets="{[VBox1,VBox2...]}">
<mx:Move .../>
<mx:Dissolve .../>
</mx:Sequence>
</mx:Transaction>
</mx:transactions>
当视图状态被触发时,Flex会查找和运行与当前和目标视图状态相匹配的过渡对象。
Flex在需要组件之时才会进行它们的初始化。