为你的Flex应用程序创建一个自定义动画光标
在本次Flex指南中,让我们看看如何在Flash中使用CursorManager类创建一个动画光标来替换默认的箭头光标。
1
. 创建一个新的Flex项目名为AnimatedCursor,设置主MXML应用程序名为Main.mxml。
2
.
我们的自定义光标是一个swf文件,因此请打开Flash来创建自己的自定义光标。帧率设置为适应Flex帧率的24在这里,我们只是简单手工绘制一个箭
头并创建一个补间动画来改变它的颜色,你也可以自己开动脑筋,来创建一个更有创意的动画,然后发布您的swf文件。
3
. 返回到Flex,添加一个CheckBox组件,当其发生变化时调用我们即将创建的toggleCursor方法。
1.<mx:CheckBox label="Custom Cursor" change="toggleCursor(event)"/>
4.
添加一个脚本。首先,嵌入您的SWF文件,将其作为自定义光标使用。
1.[Embed(source="cursor.swf")]
2.private var AnimatedCursor:Class;
5
. 在toggleCursor方法中,检查复选框是否被选中。
如果为true,调用CursorManager类的setCursor方法并把它的引用传递给你嵌入的swf光标。
setCursor方法返回一个ID用于光标的设置,你需要存储这个ID,以便我们以后用在removeCursor()方法里。
01.import mx.managers.CursorManager;
02.
03.private var cursorID:int;
04.
05.private function toggleCursor(e:Event):void{
06. if (e.currentTarget.selected)
07. cursorID = CursorManager.setCursor(AnimatedCursor);
08. else CursorManager.removeCursor(cursorID);
09.}
6
.
下面是最后的代码,运行该程序进行测试吧。
01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
03. verticalAlign="middle" backgroundColor="#FFFFFF">
04.
05. <mx:Script>
06. <![CDATA[
07. import mx.
相关文档:
首先在fademo.mxml中声明一个button,并添加一个btnClick方法:
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
......
flex弹出对话框示例程序分为两部分:Main.mxml和SimpleTitleWindowExample.mxml,其中Mail.mxml为主程序文件,SimpleTitleWindowExample.mxml为对话框文件,可以通过修改SimpleTitleWindowExample.mxml文件来修改对话框上的组件。
Main.mxml
<?xml version="1.0" encoding="ut ......
package event
{
import flash.events.Event;
public class CustomEvent extends Event
{
public var evObject:Object;
public function CustomEvent( ......
试用了一下Flex,创建HelloWorld应用的顺序如下:
1 创建文件: HelloWorld-app.xml
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.5">
<id>com.kdevn.flex.HelloWorld</id>
<version&g ......
两个不同的flex自定义控件怎么相互控制?
比如当在一个只有add方法的控件框mxml里,当提交成功的时候,怎么更新另外一个有datagird控件框的mxml?
就可以用如下方法:在主应用程序里面,对子控件datagird进行操作;
1、parentApplication.refreshAdmin(); //在add子控件
2、public ......