对于列表显示的数据,常常用户需要按不同的方式进行浏览,就像一般的看图软件功能一样,既可以以列表的形式,也可以以大图标、小图标的形式来显示。
但一般情况下设置itemRenderer属性的时候,在写代码时就指定了一个自定义的组件类,如果换成另外一个的话,不能像开发时那样直接给 itemRenderer属性赋一个组件的类型(字符串)就完事,因为itemRenderer是个Class的实例,所以需要通过new一个类的实例来更改,使用的实例化的类叫作ClassFactory,即类工厂。
看看简单的代码,一个列表,一个按钮,按钮事件用来处理更换List的itemRenderer,List的itemRenderer属性默认设置为小图标SmallIconRenderer
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
function changeRenderer():void{
if (btnChange.label == "change to big"){
list.itemRenderer = new ClassFactory(BigIconRenderer);
btnChange.label = "change to small";
}else{
list.itemRenderer = new ClassFactory(SmallIconRenderer);
btnChange.label = "change to big";
}
}
]]>
</mx:Script>
<mx:List id="list" width="300" height="300"
itemRenderer="SmallIconRenderer" variableRowHeight="true">
<mx:dataProvider>
<mx:Object label="this is item A"/>
<mx:Object label="this is item B"/>
<mx:Object label="this is item C"/>
<mx:Object label="this is item D"/>
</mx:dataProvider>
</mx:List>
<mx:Button id="btnChange" label="change to big"
click="changeRenderer()" x="308" y="10"/>
</mx:Application>
下面是小图标形式的自定义组件,其中引入了一张小图标,放一个标签用来显示列表中的数据项:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import com.nstar.base.assets.Assets;
[Bindable]
public var item:Object = new Object();
]]>
</mx:Script>
<mx:Image source="{Assets.nav_prev}" />
<mx:Label text="{data.label}"/>
</mx:HBox>
下面是大图标形式的自定义组件:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import com.nstar.base.assets.Assets;
[Bindable]
public var item:Object = new Object();
]]>
</mx:Script>
<mx:Image source="{Assets.iconInfo}"/>
<mx:Label text="{data.label}" fontSize="20" fontWeight="bold" color="0xff0000"/>
</mx:HBox>
这里是演示的例子
转自:http://hi.baidu.com/half_cup_coffee/blog/ite/c6fe90955567950d7af4807f.html
分享到:
相关推荐
接着,会通过示例代码来展示如何创建和使用itemRenderer,以及如何根据数据动态地更改itemRenderer的内容和样式。 itemRenderer本质上是一个组件,它被用于指定如何显示数据集合中的每一项。默认情况下,Flex组件...
当列表控件(如List、DataGrid等)需要显示数据时,它会根据数据项的数量动态创建相应的ItemRenderer实例,并将数据绑定到这些实例上。每个ItemRenderer实例负责显示一个数据项的信息。 **3. ItemRenderer与数据...
创建`combobox`的`itemRenderer`需要确保`ComboBox`的`data`属性与数据项绑定,并且根据数据模型的需要,动态填充`ComboBox`的下拉选项。`headerRenderer`中一般不使用`combobox`,因为列头通常用于筛选或排序,而...
在Flex开发中,ItemRenderer是一种非常关键的组件,它允许我们自定义数据项在列表或网格等容器中的显示方式。本篇文章将深入探讨如何利用ItemRenderer实现一个灵活且功能丰富的相册示例,同时也会涉及Flex中的一些...
3. **覆盖`updateDisplayList()`方法**:如果需要在渲染时执行特殊布局或样式更改,可以重写此方法。 4. **注册渲染器**:在主应用程序或数据控件中,通过`itemRenderer`属性或`itemRendererFunction`属性指定自定义...
在Flex开发中,ItemRenderer是一种强大的机制,它允许开发者自定义数据列表或组合框等容器中每一项的显示方式。ItemRenderer是ActionScript类,它扩展了MX或Spark的基类,如mx.controls.listClasses.ItemRenderer或s...
在这里,ItemRenderer需要包含一个可编辑的文本框或其他输入控件,当用户点击List项时,该控件变为可编辑状态,用户可以修改数据。 4. **序号排列**:添加序号通常需要在数据模型中增加一个额外的字段来存储每个...
相比之下,`itemEditor`则是在用户需要编辑列表项时动态显示的组件。这意味着在同一时间,屏幕上只会显示一个`itemEditor`实例,即当前正在编辑的那个列表项。此外,只有当用户聚焦到某一行或单元格时,`...
在Flex4中,List组件是用于展示数据列表的常用组件,它可以显示一组可滚动的数据项。在实际应用中,我们经常需要实现对列表中的所有项进行全选或反选的操作,以便用户能快速选择或取消选择全部内容。本文将详细探讨...
2. **ItemRenderer**: Kivy的ListCtrl依赖于一个ItemRenderer类来决定如何展示每个列表项。我们需要确保ItemRenderer设计为适应水平布局,这可能意味着调整其尺寸和对齐方式。 3. **ScrollEffect**: 默认的...
我们还定义了一个自定义的itemRenderer(myRenderer),用于决定每个列表项的显示样式。 在Android平台上运行Flex应用程序,我们需要使用Adobe AIR(Adobe Integrated Runtime)SDK,它包含了将Flex应用程序打包为...
- itemRenderer属性用于定义如何渲染DataGrid中的每一项,这对于自定义数据显示格式非常有用。 7. 绑定数据 - DataGrid通常与数据集合(如数组、数据库查询结果等)绑定,以便动态地显示内容。 - 通过数据绑定,...
这样,每个列表项都会显示一个复选框。 3. **处理多选逻辑**:当用户在下拉列表中点击复选框时,我们需要更新selectedItems数组。同时,我们需要同步Combox的文本显示,可能显示所有选中项的组合,或者允许用户...
7. **模板组件**:使用ItemRenderer或AdvancedDataGrid的ItemRenderer,可以自定义每个数据项的显示方式。 在提供的文件列表中,有一个名为“ChooseGoods.mxml”的文件。这很可能是一个MXML文件,它是Flex中用XML...
3. **实现行渲染器**:行渲染器通常是 `ItemRenderer` 类的子类,它会根据数据项的值来决定背景色。你可以在 `updateDisplayList()` 或 `commitProperties()` 方法中添加逻辑,检查当前行的数据,并根据条件设定背景...
12. **列表(List)的多项选择**:要使 `List` 组件支持多项选择,可以设置 `allowMultipleSelection` 属性为 `true`。 13. **自定义Alert**:可以通过设置 `iconClass` 属性来自定义 Alert 的图标。 14. **样式设置**...
Flex TileList是Adobe Flex框架中用于显示数据列表的一个组件,它能够展示一系列的项,比如图片、文本或按钮等。这些项通常会以水平或垂直滚动列表的形式展现。TileList组件虽然功能强大,但它并没有提供直接的属性...
5. **自定义渲染**:为了实现个性化的数据显示,可以使用itemRenderer函数为每个数据项创建自定义UI组件,例如,显示图片、链接或其他富媒体内容。 6. **拖放功能**:AdvancedDataGrid支持拖放操作,用户可以将数据...