Flex组件的项目渲染器(ItemRenderer)使用总结
http://blog.csdn.net/babylon_0049/archive/2009/05/22/4205484.aspx
理解 Flex itemRenderer – 第 1 部分: 内联渲染器
http://www.adobe.com/cn/devnet/flex/articles/itemrenderers_pt1.html
理解 Flex itemRenderer – 第 2 部分: 外部渲染器
http://www.adobe.com/cn/devnet/flex/articles/itemrenderers_pt2.html
首先简单说下外部渲染器的优势:
(1)itemRenderer 可轻松用于多个列表中
(2)代码更容易维护
(3)可以使用 Flex Builder 的“设计”视图草拟出最初的 itemRenderer
内外渲染器在使用上只是地方不同,用法基本一样,下面详细介绍内联渲染器的用法:
注:itemRenderer 是循环使用的,只负责处理收到的数据
itemRenderer中使用事件的三种方法:
一、在外部调用事件:
至于怎样在项目渲染器访问主调用应用中的成员,可用parentDocument来引用;
反过来,主调用应用要访问项目渲染器中的成员,一般都是通过在项目渲染器先派发事件,然后在主调用应用中注册事件侦听器来实现。
例如:在项目渲染器中点击图片事件,然后通知主调用应用
<mx:Image click=”this.parentDocument.imgclick(event)”
data=”{data.label}” source=”assets\tx.JPG” width=”40″/>
在主调用应用中定义:
public function imgclick(evt:MouseEvent):void
{
var img:Image=evt.currentTarget as Image;
Alert.show(img.data.toString());
}
记住得是public的,不同类之间是无法访问私有方法的
二、直接在itemRenderer中内嵌事件:
如果在Component中直接定义事件,为报错:....(event)是一个为定义的方法.
这是因为所定义的事件是在文件的范围内而不是在<mx:Component>在作用范围内定义的,
使用outerDocument标识可以避开这个问题。
outerDocument标识符将作用范围更改为查找文件或外部文档, 并引用<mx:Component>。
<mx:Button label=”Buy” click=”outerDocument.buyBook(data)” />
现在请注意: 这个函数必须是公共函数, 而不是受保护或私有函数。
记住, <mx:Component>被视为外部定义的类。
例子:
<mx:Button label="Buy" fillColors="[0×99ff99,0×99ff99]">
<mx:click>
<mx:Script>
<![CDATA[
var e:BuyBookEvent = new BuyBookEvent();
e.bookData = data;
dispatchEvent(e);
]]>
</mx:Script>
</mx:click>
</mx:Button>
在本例中, click事件会创建一个自定事件, 然后从 itemRenderer 中冒出, 并由可视链中的较高组件(Button)接收。
三、类似完整的MXML组件:
<mx:itemRenderer>
<mx:Component>
<mx:HBox paddingLeft="2">
<mx:Script>
<![CDATA[
override public function set data( value:Object ) : void {
super.data = value;
var today:Number = (new Date()).time;
var pubDate:Number = Date.parse(data.date);
if( pubDate > today ) setStyle("backgroundColor",0xff99ff);
else setStyle("backgroundColor",0xffffff);
}
]]>
</mx:Script>
<mx:Image source="{data.image}" width="50" height="50" scaleContent="true" />
<mx:Text width="100%" text="{data.title}" />
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
分享到:
相关推荐
### Flex ItemRenderer 的详细教程 #### 一、ItemRenderer 概述 在 Flex 开发中,ItemRenderer 是一种非常强大的工具,它允许开发者...掌握 ItemRenderer 的使用方法将大大提高 Flex 应用程序的灵活性和功能多样性。
Flex中的itemRenderer是一种关键的组件渲染机制,它允许开发者自定义列表或数据集项的显示方式。在Flex应用中,特别是在处理数据集如ArrayCollection时,我们常常需要以不同的方式展示每个项目,例如图片、文本或者...
在深入学习Flex的ItemRenderer时,我们还可以探索更高级的主题,如使用States管理不同视图,或者利用Effects进行动态效果的实现。总的来说,熟练掌握ItemRenderer能帮助我们创建更具吸引力和交互性的Flex应用,特别...
在描述中提到的博客链接(由于实际无法访问,此处无法提供具体内容),通常会包含关于如何创建和使用Flex ItemRenderer的教程或技巧。通常,一个教程可能会涵盖以下几点: 1. **创建ItemRenderer**: 你可以通过Flex...
在本文中,将首先介绍内联itemRenderer的概念和使用方法,然后探讨itemRenderer的设计目的和Flex框架中的重用机制。接着,会通过示例代码来展示如何创建和使用itemRenderer,以及如何根据数据动态地更改itemRenderer...
本文将深入探讨Flex中ItemRenderer的使用方法。 首先,我们需要理解ItemRenderer的基本概念。ItemRenderer是一个轻量级组件,用于呈现数据列表中的单一数据项。当数据提供者中的每一项数据都需要不同的外观或行为时...
### 理解 Flex_itemRenderer #### 一、Flex_itemRenderer 概述 Flex_itemRenderer 是 Flex 框架中的一个重要概念,它主要用于定义列表、数据网格等控件中的每一项是如何呈现的。通过自定义 itemRenderer,开发者...
在Flex手机项目开发中,创建自定义的List组件ItemRenderer是一项常见的需求,目的是为了提供更加丰富和个性化的显示效果。本文将深入探讨如何利用IconItemRenderer来实现这一目标,同时结合具体的实例,介绍两种不同...
本文将深入探讨如何使用Flex4创建一个ItemRenderer,以实现类似雅虎聊天界面的效果,并介绍相关的核心概念和技术。 首先,让我们了解ItemRenderer的基本概念。ItemRenderer是Flex中的一种组件,它的主要任务是将...
本文将深入探讨Flex项呈示器(ItemRenderer)的概念、使用方法,以及如何根据需求定制它来展示用户信息,如头像和等级。 ## 一、Flex项呈示器(ItemRenderer)简介 Flex项呈示器是Adobe Flex框架中的一个组件,其...
Flex内联itemRenderer是Adobe Flex框架中的一种技术,用于...总之,掌握Flex内联itemRenderer的使用,对于提升Flex应用的用户体验和视觉效果至关重要。通过实践和探索,你可以创造出更加生动、交互丰富的数据展示效果。
flex中经常会使用到渲染器,这里简要介绍一下渲染器的一些知识
### Flex 中获取 ItemRenderer 内容的方法 在 Flex 开发中,经常需要处理列表或集合中的数据,并且根据这些数据创建对应的用户界面元素。ItemRenderer 是一个非常重要的概念,在 Flex 中用于表示列表项的视觉外观。...
Flex中的`itemRenderer`是一个强大的组件,它允许我们自定义数据项的显示方式。当我们想要根据数据的特定属性或条件改变每一行的外观时,`itemRenderer`就是最佳选择。一个`itemRenderer`就是一个小的MXML或...
在Flex4中,可以使用MXML或ActionScript来创建itemRenderer。MXML是一种基于XML的标记语言,用于定义和创建Flex应用的用户界面组件。而ActionScript是一种面向对象的编程语言,是Adobe Flash平台的核心编程语言,也...
综上所述,这个项目可能涉及到一个使用Flex DataGrid展示节目或课程播表的应用,播表数据存储在XML文件中,每个节目单元格通过自定义的ItemRenderer展现,可能包含Flash播放器,并且可以通过点击单元格触发页面跳转...
在Flex4中,动态生成DataGrid以及应用客户化itemRenderer是一项关键技能,它允许开发者根据运行时的数据结构灵活地创建用户界面。以下是对这个主题的详细解释: 首先,`DataGrid`组件是Flex中用于展示表格数据的...
在Flex开发中,ItemRenderer是一种强大的机制,它允许开发者自定义数据列表或组合框等容器中每一项的显示方式。ItemRenderer是ActionScript类,它扩展了MX或Spark的基类,如mx.controls.listClasses.ItemRenderer或s...
本系列将深入探讨Flex的itemRenderer及其高效使用方法。 首先,我们了解一个基本概念:Flex的列表控件并不为每个数据项创建单独的渲染器实例。比如,如果你有一个包含1000条记录的列表,但只有10行在屏幕上可见,...
- MXML文件可以继承自`MX:ListBase`的`ItemRenderer`类或者Spark的`ListBase`的`ItemRenderer`类,具体取决于你使用的Flex版本。 - 在内渲染器中,可以使用数据绑定将数据模型的属性与组件的属性关联起来。 3. **...