5.10.1.问题为TileList 的渲染器设置一个切换,并跟踪TileList 中所有被选中的子节点5.10.2.解决方法扩展TileList 组件并创建一个类似itemRenderer 用法的定制渲染器,对于渲染器中的切换事件,在事件中发布唯一的标识符uid 到TileList 并保存所有IDs 到一个数组。5.10.3.讨论对于所有itemRenderers,当它们的listData 属性被设置了,可以访问它..
5.9.1.问题在提交输入值到列表之前验证用户在一个条目编辑器中输入的所有数据.5.9.2.解决方法在itemEditEnd 事件上,使用ListBase 类的itemEditorInstance 属性从条目编辑器中重新获得文本内容并解析其结果。5.9.3讨论当用户开始和结束编辑一个列表中的条目时,为了验证和格式化所有输入数据,必须侦听由List 发出的条目编辑事件。当条目编辑编辑..
5.8.1问题解析列表的dataProvider 以确保某些条目不能被用户选择5.8.2解决方法创建一个可以被设置在List 组件的一个子类的filterFunction 属性, 使用mouseEventToItemRenderer 和finishKeySelection 通过filter 函数来检查用户的选择并接受或不接受用户的选择.5.8.3讨论为了控制用户选择列表中的某些条目,你需要控制这些条目,使用户可使用鼠标..
5.7.1问题为Tree 控件传递复杂数据,并使用Tree 适当地解析它们5.7.2解决方法在一个类中实现ITreeDataDescriptor 接口,并该类的新数据描述符中设置一个示例对象给Tree 中dataDescriptor 属性,5.7.3讨论使用一个对象和Tree 一起,将对象传递给Tree 来实现ITreeDataDescriptor 以解析数据并返回与数据中的对像关系相关的正确信息,XML 数据很容易..
5.6.1.问题为Tree 组件更改功能5.6.2.解决方法创建一个itemRenderer 继承自TreeItemRenderer 类5.6.3讨论更改一个Tree 组件功能使之比其它基于list 的组件更灵活,与DataGrid, TileList, 或List组件不同的是,你不能为Tree 组件使用dropInItemRenderer,只能继承TreeItemRenderer类来创建一个itemRenderer, TreeItemRenderer 为Tree 组件定义了默认..
5.5.1问题用一个Tree 组件来表现由外部载入的XML 数据5.5.2解决方法以e4x 标准为HTTPService 对象设置类型并且加载指定XML 文件,设置请求结果为Tree的数据提供者,使用像labelField 这样的Tree 叶子结点,通过XML 语法来传递结点属性,确保Tree 将会显示正确的标签5.5.3讨论只要Tree 组件的labelField 属性显示正确的属性值,Tree 组件处理XML 数..
5.4.1问题为TileList 类设置一个定制的itemRenderer,当数据从TileList 传递给渲染器时它将附一个特定的依赖于代码的图象5.4.2 解决方法当数是为渲染器设置时创建一个VBox 对象并且覆盖set data 方法来从杂乱数据中读取相匹配的图象来编码传递5.4.3 讨论一个List 的条目渲染器传递一个描述当前表中每一个条目的数据对象,它用来创建渲染器中详细..
5.3.1 问题当list 的数据被改变的时候为list 添加显示效果5.3.2 解决方法创建一个效果序列并将它们传递给List 组件的itemsChangeEffect 属性5.3.3 讨论数据改变时效果是flex 3 新增的很强大的效果,对于之前的版本,你可以写数据改变时效果并分发和注册事件和事件侦听,但是伴随着flex 3 新增itemsChangeEffect 属性,List 组件和任何继承ListBas..
5.2.1问题用list 提供的数据为以itemRenderer 为基础的List 控件设置图标5.2.2 解决方法使用List 组件的iconFunction 属性,并创建一个方法用来返回以类的型式嵌入的图片5.2.3 讨论iconFunction 是一个描述嵌入图片并返回类对象的方法,嵌入的图片由list 组件中的itemRenderer 使用,iconFunction 的用法是简单地定义的方法名传递,例如:setIco..
5.1.1 问题创建一个所有条目都可以编辑的list 组件5.1.2 解决方法将list 组件的editable 属性设置为true 并侦听itemEditBegin 和itemEditEnd 属性.或通过包含columnIndex 和rowIndex 属性的对象来设置editedItemPosition。5.1.3 讨论所有的List 组件都可以通过简单地设置list 的editable 属性为true 使之可编辑。这就意味着每一个渲染都将变成一..
本章介绍的这三种组件均继承自mx.controls.listclasses.ListBase 类,并且为这些数据驱动的控件工作的方法的执行和使用过程中都是一致的,每一个数据驱动控件都有自己的由数据提供者生成的孩子结点用来排序,过滤,重排,并且这个可视组件的设置效果如条目渲染器(官方将item 翻成“项目”,个人认为翻成条目可能更贴切一些)和条目编辑器操作。..
borderStyle边框样式 none\solid\..borderColor边框颜色borderThickness边框粗细数值从0~20dropShadowEnabled是否显示投影true和false2个属性shadowDistance投影大小dropShadowEnabled为true时有效数值从0~20,shadowDirection投影方向3个属性leftrightcenterdropShadowColor投影的颜色DataGrid组件样式属性backgroundColor背景色backgroundAlph..
编辑完这个FLEX下的CSS说明后,我基本已经兵临崩溃边缘了。在些天在AIRIA下了不少好东西,今天终于有空,也发一个比较不错的东西给大家,相信都比较需要这个FLEX下的CSS使用方法的详细说明(好像我这份还不够详细,望大家补充)。AIRIA真的是一个不错的网站,很高兴在这里认识大家。在FLEX中使用样式方法一、使用本地样式定义使用mx:Style标签在..
4.15.1. 问题我想找出一个TextArea 中最后显示的字符。4.15.2. 解决办法使用TextField 的绑定方法来返回TextArea 的大小,然后使用getLineMetrics 方法确定实际行高。然后决定最后一个可视行,使用getLineOffset 和getLineLength 方法找出最后一个可视行中的最后一个字符。4.15.3. 讨论一个TextField 中的每一行都有它自己特征的属性并传给getLi..
4.14.1. 问题我想给TextArea 组件中的当前文字添加一个拖拽阴影。4.14.2. 解决办法使用BitmapData 对象来获取一份TextField 的拷贝,同时添加这个位图到父组件的一个偏移点来模拟阴影4.14.3. 讨论当你尝试显示一个TextArea 或者Text 组件中的当前内容的阴影图像,你只不过需要取得可以再现文本域中所有信息的位图,然后添加到父组件中就行了。移..
4.13.1. 问题我想在一个HTML 文本中使用一个嵌入字体。4.13.2. 解决办法使用一个样式中的@font-face 标签来嵌入字体,然后使用font 标签来设置这个标签的family 属性。4.13.3. 讨论在HTML 文本中应用嵌入字体要比使用系统字体复杂的多。应用字体的标准方法是简单的设置一个样式中的font-family 属性中的font,然后把样式应用在一个span 上。然而..
4.12.1. 问题我想要创建一个可以让用户输入富文本的组件,然后使用富文本创建的HTML。这个组件可以使用用户电脑上的所有字体。4.12.2. 解决办法创建一个RichTextEditor,然后从它的控制器里面读取htmlText 属性。设置定义在RichTextEditor 里的fontFamilyCombo 的dataProvider 来添加从Font.enumerateFonts 返回的所有结果。4.12.3. 讨论RichText..
4.11.1. 问题我想通过外部加载的CSS 文件或是写在程序里的CSS 样式,来实现TextField 中的HTML的CSS 样式。4.11.2. 解决办法使用StyleSheet parseStyle 方法来对TextArea 进行字符串解析和样式表分配。4.11.3. 讨论StyleSheet 对象可以把任何正确的CSS 当成字符串解析,处理它的所有信息,把它分配到一个组件或是在HTML 文本中应用。要实现这个,..
4.10.1. 问题我想把独立的字符当作图像一样进行特效处理。4.10.2. 解决办法使getCharBoundaries 方法来取得TextField 中字符的实际宽高xy 值。然后从TextField 创建一个包含你想要的字符的位图。4.10.3. 讨论getCharBoundaries 返回一个形容TextField 中字符索引的宽高xy 值的矩形。你可以用这个信息创建一个字符的位图,保留它的全部可视信息,..
4.9.1. 问题我想创建这样一个TextArea,一个用户在TextInput 中输入的文本可以在这个TextArea 被搜索到同时高亮显示搜索到的内容。4.9.2. 解决办法使用flash.text.TextField 对象并设置它的alwaysShowSelection 属性为true。然后用setSelection方法来设置被选文字的起始索引和长度。4.9.3. 讨论mx.controls.TextArea 组件需要将焦点聚在它的身上..
4.8.1. 问题我需要在你的Flex 组件中显示一段包含图片和外部SWF 文件的HTML 文本。4.8.2. 解决办法使用Flash 播放器中的HTML 渲染引擎支持的img标签,设置src 属性为你要加载的SWF或图片的URL 地址。4.8.3. 讨论img标签允许你指明将要加载到Text 组件中显示的图片或SWF 文件的地址。img标签支持如下这些属性:src指定一个GIF, JPEG, PNG 或SWF 文..
4.7.1. 问题我想把一段非HTML 文本设置字体信息。4.7.2. 解决部分使用TextRange 类设置一段字符的属性。4.7.3. 讨论TextRange 类接受一个拥有TextField 的组件。用一个参数指明是否通过TextRange 中的属性设置来对该组件进行修改,然后用2 个整数决定TextField 中的起始字符和结束字符。TextRange 对象是这样构造的:+展开-ActionScriptvartextRa..
4.6.1. 问题我需要创建一个自定义的TextInput 组件,包括可以输入文本的多行区域和绑定该组件的输出到一个Text 显示。4.6.2. 解决使用UIComponent 同时添加一个flash.text.TextField 到这个组件中。然后设置一个可绑定的文本属性,将Text 组件的htmlText 属性绑定到新组件的文本。4.6.3. 讨论mx.controls.TextInput 组件限制访问到flash.text.Te..
4.5.1. 问题我想确定用户电脑上安装的所有字体,然后为Text 组件选择列表中的一个字体显示。4.5.2. 解决办法使用Font 类中的enumerateFonts 方法设置一个带有选择好字体的fontName 属性的Text 组件的fontFamily 风格4.5.3. 讨论Font 类定义了一个静态方法叫做enumateFonts 来返回一个用户电脑上所有字体的数组。这个方法返回包括flash.text.Font..
4.4.1. 问题我想创建一个合适的编辑器组件,当用户点击文本去有的时候可以进行编辑。4.4.2. 解决办法使用Text 组件的click 监听器改变组件的状态来显示一个TextInput。使用TextInput 组件的enter 和focusOut 事件来决定当用户完成了编辑然后返回Text 组件的状态。4.4.3. 讨论状态是一个强力和方便的给单一组件添加多种视觉的方法。本节的例子采用..
4.3.1. 问题我想创建一个具有预测能力的TextInput,他会从词典中找出一些推荐的单词供用户选择。4.3.2. 解决办法使用TextInput 组建的change 事件监听用户输入,同时使用正则表达式测试词典里是否有何用户输入的内容相匹配的单词。4.3.3. 讨论TextInput 组建定义了change 事件,TextInput 组件的值的每次变更都会由它来分发。你可以用这个事件去..
4.2.1. 问题我想将一个用户输入到TextInput 控制器中的值绑定到另一个控制器。4.2.2. 解决办法使用绑定标签将TextInput 组件中的文本绑定到Text 组件中,以便显示输入的内容。4.2.3. 讨论TextInput 控制器在这里被用来提供要显示在TextArea 控制器中的文本。随着文本内容的增加,采用了Flex 框架的绑定机制的TextArea 的宽度也会随之增加。+展开..
4.1.1. 问题我想正确的显示出可能被传送到文本对象的HTML 和简单字符串4.1.2. 解决办法使用htmlText 和text 属性,依靠输入模式,来适当地渲染文本和采用正则表达式分析被传到Text 对象中的字符串。4.1.3. 讨论Text 和TextArea 不会正确的显示HTML 除非HTML 被传Text or TextArea 组件的htmlText 属性。通常把非HTML 文本传递给Text or TextArea..
当你需要在Flex 程序中使用文本时,请用以下这些组件:mx.text.Text,mx.text.RichTextEditor, mx.text.Label, mx.text.TextArea, mx.text.TextInput,和flash.text.TextField。这些组件的每一个都可以在Flex 程序的内容表现中实现不同的功能。TextInput, TextArea, 和RichTextEditor 控制器考虑到用户交互和编辑。TextArea,RichTextEditor, 和..
3.29.1 问题你需要滚动一个父组件并且移动除了一个子组件之外的其它所有子组件。3.29.2 解决办法在容器定义的scrollChildren方法内,根据verticalScrollPosition属性重新定位子组件。3.29.3 讨论容器的scrollChildren 方法测量容器的contentPane 这个DisplayObject,它包含了添加到容器中的所有子组件,同时确定在滚动的时候测量到的子组件要显示..