11.11.添加视图States到Flash组件

评论(0)浏览(94)分类:flash/flex/fcs/AIR
11.11.添加视图States到Flash组件11.11.1. 问题我想使用Flash 组件作为states。11.11.2. 解决办法在UIMovieClip 或ContainerMovieClip 实例内提供帧标签作为states。11.11.3. 讨论首先创建将在Flex 应用程序中实例化的类。在Flex 程序中如果没有添加子对象则这个类必须扩展自UIMovieClip 类,否则需扩展自ContainerMovieClip 类,例如:+展开-ActionScriptpackage{importflash.t..

11.10.在State Changes事件中添加和删除事件监听器

评论(0)浏览(81)分类:flash/flex/fcs/AIR
11.10.在State Changes事件中添加和删除事件监听器11.10.1. 问题我想给State 中创建添加的组件注册事件监听器,当state 改变时移除监听器。11.10.2. 解决办法将事件监听器关联到组件的addedToStage 事件,在removedFromStage 事件中移除事件监听器。或者使用SetEventHandler 对象创建事件监听器。11.10.3. 讨论在ActionScript3中确保事件处理器能被正确的移除是保证应用程序不会造成消耗Flash Pl..

11.9.对添加到State中的Object进行数据绑定

评论(0)浏览(93)分类:flash/flex/fcs/AIR
11.9.对添加到State中的Object进行数据绑定11.9.1. 问题我想绑定一个对象到属性上,该对象是进入某个state 时才会被创建。11.9.2. 解决办法使用mx.binding.utils.BindingUtils 类的bindProperty 方法动态创建绑定。11.9.3. 讨论你可以在编译器在MXML 文件内使用{}或者在运行期使用bindProperty 方法创建绑定。bindProperty 方法格式如下:+展开-ActionScriptpublicstaticfunctionbindProp..

11.8.使用States的延时实例工厂

评论(0)浏览(81)分类:flash/flex/fcs/AIR
11.8.使用States的延时实例工厂11.8.1. 问题我需要一个对象,它能为AddChild 对象实例化不同类型的对象。11.8.2. 解决办法创建工厂类,并赋值给AddChild 对象的targetFactory 属性。11.8.3. 讨论AddChild 对象的targetFactory 属性需要一个实现IDeferredInstance 接口的对象。IDeferredInstance 接口只需要一个方法:getInstance():Object. 当AddChild 对象需要一个新的可视化..

11.7.用HistoryManagement整合States视图

评论(0)浏览(69)分类:flash/flex/fcs/AIR
11.7.用HistoryManagement整合States视图11.7.1. 问题我想用Flex 框架的HistoryManagement 机制整合states。11.7.2. 解决办法创建扩展自IHistoryManagerClient 接口的应用程序或组件。使用HistoryManagement 注册应用程序,当state 改变时使用HistoryManager.save 方法保存当前state。11.7.3. 讨论IHistoryManager client 定义了以下方法:loadState(state:Object):void加载此对象的状态..

11.6.建立在基础State之上的State

评论(0)浏览(70)分类:flash/flex/fcs/AIR
11.6.建立在基础State之上的State11.6.1. 问题我想创建一个state,继承其他state 的所有属性并重新设置某些属性。11.6.2. 解决办法在新state 中设置basedOn 属性。11.6.3. 讨论在其他states 基础上创建states 是一种方便的方式以便创建出一组层级关系的states。当一个state 基于另一个states 时,它继承了第一个state 的所有属性,新state 中任何重写的定义都被添加进来。这意味..

11.5.对指定组件应用局部Transition

评论(0)浏览(111)分类:flash/flex/fcs/AIR
11.5.对指定组件应用局部Transition11.5.1. 问题我想应用一部分Transition, Sequence, 或Parallel 对象到某个子组件上。11.5.2. 解决办法在过滤函数基础上为每个特效过滤目标直到返回期望的所有子组件数据。11.5.3. 讨论正如第11.4节提及的那样EffectTargetFilter 对象过滤只能应用整个sequence 或整个Parallel组合特效。要想为每个特效过滤目标,你必须编写自定义函数返回每个特效..

11.4.为特定类型的子节点过滤Transitions

评论(0)浏览(82)分类:flash/flex/fcs/AIR
11.4.为特定类型的子节点过滤Transitions11.4.1. 问题我想让transition 只影响到某些子组件11.4.2. 解决办法使用EffectTargetFilter 对象定义过滤函数来检测哪些目标将被应用Transition。11.4.3. 讨论EffectTargetFilter 对象可定义过滤器检测哪些目标被应用到transition。EffectTargetFilter 对象需要一个过滤函数,类似于一个数组,为每个传进Transition 的对象返回true 或false,传递..

11.3.使用AddChildAction和RemoveChildAction

评论(1)浏览(75)分类:flash/flex/fcs/AIR
11.3.使用AddChildAction和RemoveChildAction11.3.1. 问题我想在播放transition 时能控制何时添加或删除子组件。11.3.2. 解决办法使用AddChildAction 和RemoveChildAction 标签分别控制子组件的添加和删除。11.3.3. 讨论AddChildAction 和RemoveChildAction 对象执行方式和SetPropertyAction 和SetPropertyStyle对象类似,它们包装了State 对象的功能,可在Transition 中使用,为了与Transi..

11.2.为进入和离开States创建Transitions

评论(0)浏览(80)分类:flash/flex/fcs/AIR
11.2.为进入和离开States创建Transitions11.2.1. 问题我想创建一个特效,当进入或退出state 时进行播放11.2.2. 解决办法使用Transitions 对象,设置其fromState 和toState 属性。11.2.3. 讨论一个transition 就是一个特效或一系列特效。Transition 对象给出了fromState 和toState 属性定义何时播放。fromState 和toState 属性及可以是特定的states 或通配符(*)。有几个方法创建Transiti..

11.1.设置State的样式和属性

评论(0)浏览(83)分类:flash/flex/fcs/AIR
11.1.设置State的样式和属性11.1.1. 问题我想为某个当前视图设置样式或属性以及在退出时移除该样式或属性。11.1.2. 解决办法当进入state 时用SetStyle 标记来改变任一样式并在其退出时自动回到先前样式。11.1.3. 讨论当进入一个state 时都可通过SetStyle 和SetProperty 标签设置任意组件的样式和属性,设置state 中的样式和属性就像是添加子节点一样,当回到初始state 时这..

第十一章. States(状态)

评论(0)浏览(72)分类:flash/flex/fcs/AIR
第十一章. States(状态)States 是一套用于创建状态组件的强大工具,也就是说组件可以有多个视图。需要此操作的组件可以是一个编辑器和显示器,一个有多个示屏的对话框,或一个有菜单视图和细节视图的组件。这些多个视图都被包含在一个组件中,被归类为一个states。Flex Framework 定义了一个类叫State,包含在mx.state 包中,可让你在单个组件中定义特定视图的属性。所..

IE6下按百分比布局的问题

评论(0)浏览(102)分类:HTML/CSS兼容/XML
IE6下按百分比布局的问题  今天在写一个页面,父容器内的子控件浮动并且使用百分比来控制宽度,当父容器的宽度为奇数时,发现ie6下竟然换行了,为偶数则不会出现此问题。在IE7+以上浏览,w3c浏览器,如ff,chrome下不管父容器为偶数或者奇数都不会换行。,⊙﹏⊙b汗  测试代码如下+展开 -HTML!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w..

FF如何实现selectNodes

评论(0)浏览(111)分类:JavaScript/Ajax开发技巧
FF如何实现selectNodes  今天在csdn上看到有人问 getElementsByTagName 和 selectNodes谁更快 ,这个还真没研究过,于是就测试了下:+展开 -JavaScriptvarstringToDom=function(text){vardoc;if(window.ActiveXObject){doc=newActiveXObject("MSXML2.DOMDocument");doc.loadXML(text).documentElement;}else{doc=(newDOMParser()).parseFromString(text,"text/xml")..

10.7.自定义列表类控件的拽动指示器

评论(0)浏览(141)分类:flash/flex/fcs/AIR
10.7.自定义列表类控件的拽动指示器10.7.1 问题你想自定义拖拽指示器的图形,并在list 控件的拖拽操作期间显示。10.7.2 解决办法创建一个自定义的可编程皮肤(programmatic skin),并且为一个List 控件设置dropIndicatorSkin 样式属性。10.7.3. 讨论Flex 框架的列表类组件具有默认的可编程(programmatic)皮肤,在你执行拖拽操作时用来渲染指示器。当ListBase.showDropFeedback 方..

10.6.自定义列表类控件的拖动图像

评论(0)浏览(69)分类:flash/flex/fcs/AIR
10.6.自定义列表类控件的拖动图像10.6.1 问题你希望在一个自定义列表类控件中进行拖拽操作时,自定义它的拖动图像。10.6.2 解决办法创建一个需要在拖拽操作时显示的UIComponent,并覆盖自定义列表类控件的dragImagegetter 方法。10.6.3 讨论Flex 框架中的列表类控件天生就会处理拖拽。这意味着你不需要为DragManager 发出的事件设置事件监听器。尽管如此,由于你不直接跟DragMan..

10.5.启动和禁止拖操作

评论(0)浏览(132)分类:flash/flex/fcs/AIR
10.5.启动和禁止拖操作10.5.1. 问题你想在运行时启动和禁止列表类控件的拖拽操作。10.5.2. 解决办法使用列表类控件的拖拽事件属性来管理属性值。10.5.3 讨论Flex 框架的列表类控件具有内置的管理器来与DragManager 互动,通过使用dragEnabled和dropEnabled 属性,提供了一个便捷的途径来启动控件响应拖拽动作。通过使用内建的事件属性dragStart, dragEnter,dragOver..

10.4.在List 之间进行拖拽操作

评论(0)浏览(70)分类:flash/flex/fcs/AIR
10.4.在List 之间进行拖拽操作10.4.1 问题你希望从一个List 中拖拽数据到另一个List。10.4.2 解决办法使用List 内建的拖拽管理器并把每个组件设置成允许接受拖拽操作。10.4.3 讨论Flex 列表类控件内建的拖拽管理器,去掉了手动操作DragManager 对象的必要,从而使数据从一个List 移动到另一个List 变得相对简单。通过设置dragEnabled 和dropEnabled属性为true,你就能打开移动..

10.3.在List 内部进行拖拽操作

评论(0)浏览(142)分类:flash/flex/fcs/AIR
10.3.在List 内部进行拖拽操作10.3.1 问题你希望在同一个列表类的组件实例内移动和复制数据。10.3.2 解决办法使用列表类组件内建的拖拽管理器。10.3.3 讨论通过为来自于DragManager 的事件指派事件处理器, 你可以激活任何组件的拖拽能力。尽管你可以手动添加这种支持到列表控件(list controls),但Flex 框架的列表类组件,例如list,Tree 和DataGrid,具有管理拖拽操作的内..

10.2.指定一个拖拽代理

评论(0)浏览(96)分类:flash/flex/fcs/AIR
10.2.指定一个拖拽代理10.2.1 问题你希望在拖拽开始时自定义一幅图像来表现这个被拖拽的对象。10.2.2 解决办法为DragManager.doDrag 方法的可选参数dragImage 指定一幅自定义图像。10.2.3. 讨论默认情况下,在拖拽操作中使用的图像是一个包含透明度的矩形。这个在拖操作开始时被渲染的显示对象被称为拖拽代理。通过给dragImage 参数传递一个IFlexDisplayObject 实例,..

10.1.使用DragManager 类

评论(0)浏览(91)分类:flash/flex/fcs/AIR
10.1.使用DragManager 类10.1.1. 问题你想在程序中从一个地方移动数据到另一个地方。10.1.2. 解决方法使用mx.manager.DragManager 类管理拖拽操作以及在释放目标上监听拖拽事件。10.1.3. 讨论DragManager 类用于管理在你的程序里执行的拖拽操作。当一个拖拽操作被初始化,拖拽源(drag source)通过静态方法doDrag 增加到DragManager。被称为释放目标(drop target)的组件了..

第十章. 拖拽操作

评论(0)浏览(106)分类:flash/flex/fcs/AIR
第十章. 拖拽操作Flex 框架的拖拽能力允许用户可视化地从一个地方移动数据到另一个地方,这大大增强了富互联网应用程序的体验性。任何扩展了mx.core.UIComponent 类的组件都支持拖拽。在一个拖拽操作中,有一个初始方(initiator)和一个接收方(receiver)。任何一个UIComponent的实例都能接受由拖拽动作初始的释放操作。一些列表类的Flex 组件,如List、Tree 和Dat..

9.18.自定义引导界面

评论(0)浏览(104)分类:flash/flex/fcs/AIR
9.18.自定义引导界面9.18.1. 问题你想自定义在下载和初始化Flex 程序时显示的引导界面。9.18.2. 解决办法通过生成mx.preloaders.DownloadProgressBar 类(默认的程序引导界面)的子类或者生成实现了mx.preloaders.IPreloaderDisplay 接口的flash.display.Sprite 的子类型两种方法创建自定义的引导界面。9.18.3. 讨论一个Flex 程序默认地由两个画面组成。第一个生成引导..

9.17.从SWF 文件中生成动态皮肤

评论(0)浏览(136)分类:flash/flex/fcs/AIR
9.17.从SWF 文件中生成动态皮肤9.17.1. 问题你想在Flash IDE 中创造一个按钮,它的每个状态有不同的动作。9.17.2. 解决办法创建一个FLA 并在此FLA 中创建一个意味着有多个帧和动作的输出的MovieClip 元件。利用生成的SWF 和MovieClip 名称,在源代码和元件引用中通过利用[Embed] 元数据标记将MovieClip 为你动作的拓展。把一个mx.core.UIComponent子类当作mx.controls.Button实..

9.16.编程实现状态控件的皮肤

评论(0)浏览(74)分类:flash/flex/fcs/AIR
9.16.编程实现状态控件的皮肤9.16.1. 问题你想编程实现皮肤,该皮肤能够解决控件显示不同状态的问题。9.16.2. 解决办法生成mx.skins.ProgrammaticSkin 的子类,然后利用updateDisplayList 方法依据name 属性值更新其显示内容。可以嵌入地利用skin 样式属性,或者利用setStyle 方法,再或者利用CSS 三种方法应用编程实现的自定义皮肤。9.16.3. 讨论通常控件都有状态或包含有状..

9.15.编程实现组件应用皮肤

评论(0)浏览(98)分类:flash/flex/fcs/AIR
9.15.编程实现组件应用皮肤9.15.1.问题你想更好地控制视觉元素如何在不指定图像皮肤时显示在组件中。9.15.2.解决办法生成一个继承mx.skins.ProgrammaticSkin 类的自定义皮肤类并重载保护类型的updateDisplayList 方法。9.15.3.讨论与图像皮肤相反,编程实现皮肤需要对ActionScript 更高级的理解,但提供了组件视觉表示的更深入的控制。编程实现的皮肤类是利用一些显示对象..

9.14.从SWF文件中嵌入皮肤

评论(0)浏览(107)分类:flash/flex/fcs/AIR
9.14.从SWF文件中嵌入皮肤9.14.1.问题你想在SWF 文件中保存一堆图像,以便用来为组件嵌入皮肤。9.14.2.解决办法生成一个SWF 文件, 用多个记号标记表示组件多个状态的输出。9.14.3.讨论在SWF 文件中生成一堆图像皮肤是将设计展现给其它开发人员的方便方法。另外它实现了将矢量图形做为皮肤的可能性。使用来自Flash IDE 库的元件的属性面板,你能选择用于引用图形元件的类..

9.13.嵌入图像的皮肤

评论(0)浏览(101)分类:flash/flex/fcs/AIR
9.13.嵌入图像的皮肤9.13.1. 问题你想用自定义的图像为组件的视觉元素应用皮肤。9.13.2. 解决办法利用组件的样式属性提供自定义的JPEG、GIF 或者PNG 图像。这些属性能在组件实例中嵌入地通过MXML 或者作为CSS 样式定义的部分而直接设定。9.13.3. 讨论内置的Flex 主题默认地为组件应用计划好的皮肤类。你能创造自定义编程实现皮肤类或者指定图形元素为皮肤,以修改组..

9.12.从SWF文件中嵌入字体

评论(0)浏览(111)分类:flash/flex/fcs/AIR
9.12.从SWF文件中嵌入字体9.12.1.问题你想从SWF 文件中嵌入字体,并将其应用在你的程序中。9.12.2.解决办法生成一个嵌有字体的SWF ,然后利用@font-face 指令声明你想在程序中嵌入的打印机字体。9.12.3.讨论你能从单个包含嵌入字体的SWF 文件中为你的程序嵌入多种打印机字体样式。与从字体文件中嵌入字体相反,从SWF 中嵌入的方法具有可携带性的优势。你能将你系统中可用..

9.11.应用嵌入字体

评论(0)浏览(94)分类:flash/flex/fcs/AIR
9.11.应用嵌入字体9.11.1.问题你想将字体嵌入程序以确保在任何机器上的外貌感观保持一致,不用去管用户系统字体如何。9.11.2.解决办法通过在ActionScript 中利用[Embed]元标记或者在CSS 中使用@font-face 以嵌入字体。9.11.3.讨论在程序中嵌入字体的原则确保文本应用的样式是完整的,不需要考虑用户机器上系统字体。你能利用ActionScript 和CSS 嵌入字体。下面例子..