flex 事件之理解
首先,申明本文是转载
http://blog.csdn.net/ivanmarkliu/archive/2009/07/08/4327570.aspx
,大家可以访问该链接,也可以直接阅读本文后续部分以了解
flex
事件。接下来简单谈下为何要转载此文及本人对此文的一些补充。
可以这样说
flex
是事件驱动的,熟练掌握事件对于提高
flex
开发水平是至关重要的,
flex
的经典绑定机制就是基于
event
。网上对于
flex event
的介绍很多,其中不乏官方的
e
文,但是本人觉得本转载之文对于事件的核心“事件传播”讲解的是比较通俗易懂的,且有
demo
,只要运行
demo
即能理解大概。因此本人认为结合此转载篇,再了解下事件派发的一个借口
IEventDispatcher
和基类
EventDispatcher
,再熟悉下自定义
event
便可熟练掌握
flex event
了。
在转载正文之前,先补充事件传播的
3
个阶段值,使大家更易理解。
EventPhase.CAPTURING_PHASE: 1
,
捕获阶段
EventPhase.AT_TARGET: 2
,目标阶段
EventPhase.BUBBLING_PHASE: 3
,冒泡阶段
///////////////////////////////////////////////
转载正文
/////////////////////////////////////////////////
1.
最简单的事件
以下代码:
1:
xml
version
="1.0"
encoding
="utf-8"?>
2:
<
mx:Application
xmlns:mx
="http://www.adobe.com/2006/mxml"
3:
layout
="absolute">
4:
<
mx:Script
>
5:
[CDATA[
6:
import flash.events.MouseEvent;
7:
import mx.controls.Alert;
8:
9:
&nb
相关文档:
用Accordion组件的时候发现,child展开之后再点击的时候没有相应.
然后习惯性的Google发现解决方法大致是自定义一个组件...
感觉为了一个小功能重写有点 杀鸡用牛刀的感觉.
于是仔细想了下,发现其实只需要指定header的itemRenderer即可:
上代码 headerRenderer="com.MyAccHeader"
MyAccHeader:
package com
{
......
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
<mx:Script>
<![CDATA[
import mx.core.BitmapAsset;
import mx.core.DragSource;
import mx.events.DragEvent;
import mx.managers.DragManager;
private var xoffset:Number;
private var yoffset:Number;
priv ......
flex 页面跳转
方法一:使用navigateToURL
var url:String = "http://localhost/flex/test.jsp";
var request:URLRequest = new URLRequest(url);
navigateToURL(request,"_self");
方法二:引用flash中的 import flash.external.ExternalInterface 这个接口
他能提供像js中window.location.href方法一样方便
Extern ......
Flex中控件组件一大堆,总结一下。
1.
用来布局的控件有 form、canvas、panel、box 等。 当然box 中又有很多了,有vbx、hbox、VDividedBox、HividedBox、Tile。 当然这些里面大体上又分为两种
一种是绝对布局、一种是相对布局(个人认为啊)。其中canvas 是只支持绝对布局的 form、box 只支持相对布局。而p ......
2.2 代码实现
下面给出了FlexBuilder工程的一个文件,设置了Flash的布局。
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
......