包 | fl.controls |
类 | public class List |
继承 | List SelectableList BaseScrollPane UIComponent Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
实现 | IFocusManagerComponent |
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
List 组件由 item、row 和 data provider 构成,如下所述:
- Item:ActionScript 对象,通常包含
label
属性和data
属性,前者是描述性的属性,后者用于存储与项目关联的数据。 - Row:用于显示项目的组件。
- Data provider:一个组件,用于模拟 List 组件所显示的项目。
默认情况下,List 组件使用 CellRenderer 类提供在其中显示列表项目的行。 可以通过编程方式创建这些行;这通常通过细分 CellRenderer 类来完成。 CellRenderer 类实现 ICellRenderer 接口,该接口提供一组属性和方法,List 组件可以使用这些属性和方法对其中的行进行操作,并将数据和状态信息发送到各行以供显示。 这将包括有关数据大小调整和选定内容的信息。
List 组件提供针对其数据提供程序执行的方法,例如 addItem()
和 removeItem()
方法。 可以使用上述及其他方法操作同一帧中作为 List 组件存在的任何数组的数据,然后将更改广播给多个视图。 如果未随 List 组件提供外部数据提供程序,则这些方法会自动创建一个数据提供程序实例并通过 List.dataProvider
属性将其公开。 List 组件将使用实现 ICellRenderer 接口的 Sprite 来呈现每一行。 若要指定此渲染器,请使用 List.cellRenderer
属性。 您也可以创建一个 Array 实例或者从服务器上获取一个实例,然后将它用作多个列表、组合框、数据网格等的数据模型。
属性 | 由以下参数定义 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
InteractiveObject 实例的当前辅助功能实现 (AccessibilityImplementation)。 | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。 | DisplayObject | ||
allowMultipleSelection : Boolean
获取一个布尔值,指示能否一次选择多个列表项目。 | SelectableList | ||
alpha : Number
表示指定对象的 Alpha 透明度值。 | DisplayObject | ||
blendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。 | DisplayObject | ||
blendShader : Shader [只写]
设置用于混合前景和背景的着色器。 | DisplayObject | ||
buttonMode : Boolean
指定此 sprite 的按钮模式。 | Sprite | ||
cacheAsBitmap : Boolean
如果设置为 true,则 Flash 运行时将缓存显示对象的内部位图表示形式。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
如果为非 null,则 Matrix 对象会定义显示对象在 cacheAsBitmap 设置为 true 时的呈现方式。 | DisplayObject | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
contextMenu : NativeMenu
指定与此对象相关联的上下文菜单。 | InteractiveObject | ||
dataProvider : DataProvider
获取或设置要查看的项目列表的数据模型。 | SelectableList | ||
doubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。 | InteractiveObject | ||
dropTarget : DisplayObject [只读]
指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。 | Sprite | ||
enabled : Boolean
获取或设置一个值,该值指示组件是否可以接受用户交互。 | UIComponent | ||
filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。 | DisplayObject | ||
focusEnabled : Boolean
获取或设置一个布尔值,该值指示组件是否可以在用户单击它后获得焦点。 | UIComponent | ||
focusManager : IFocusManager
获取或设置为此组件及其同级组件控制焦点的 FocusManager。 | UIComponent | ||
focusRect : Object
指定此对象是否显示焦点矩形。 | InteractiveObject | ||
graphics : Graphics [只读]
指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘图命令。 | Sprite | ||
height : Number [覆盖]
获取或设置组件的高度,以像素为单位。 | UIComponent | ||
hitArea : Sprite
指定一个 sprite 用作另一个 sprite 的点击区域。 | Sprite | ||
horizontalLineScrollSize : Number
获取或设置一个值,该值描述当单击滚动箭头时要在水平方向上滚动的内容量。 | BaseScrollPane | ||
horizontalPageScrollSize : Number
获取或设置按滚动条轨道时水平滚动条上滚动滑块要移动的像素数。 | BaseScrollPane | ||
horizontalScrollBar : ScrollBar [只读]
获取对水平滚动条的引用。 | BaseScrollPane | ||
horizontalScrollPolicy : String
获取或设置一个值,该值指示水平滚动条的状态。 | BaseScrollPane | ||
horizontalScrollPosition : Number
获取或设置一个值,该值描述滚动窗格中水平滚动条的水平位置(以像素为单位)。 | BaseScrollPane | ||
iconField : String
获取或设置用于提供项的图标的项字段。 | List | ||
iconFunction : Function
获取或设置用于获得项的图标的函数。 | List | ||
labelField : String
获取或设置 dataProvider 对象中的字段名称,该字段名称将显示为 TextInput 字段和下拉列表的标签。 | List | ||
labelFunction : Function
获取或设置用于获得项的标签的函数。 | List | ||
length : uint [只读]
获取数据提供程序中的项目数。 | SelectableList | ||
loaderInfo : LoaderInfo [只读]
返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 | DisplayObject | ||
mask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。 | DisplayObject | ||
maxHorizontalScrollPosition : Number [覆盖]
获取或设置当 horizontalScrollPolicy 属性设置为 ScrollPolicy.ON 时,列表可以向右滚动的像素数。 | SelectableList | ||
maxVerticalScrollPosition : Number [只读]
获取当前内容的最大垂直滚动位置(以像素为单位)。 | BaseScrollPane | ||
metaData : Object
如果元数据是通过 PlaceObject4 标记与此 DisplayObject 的实例一起存储在 SWF 文件中的,则获取 DisplayObject 实例的元数据对象。 | DisplayObject | ||
mouseChildren : Boolean
确定对象的子级是否支持鼠标或用户输入设备。 | DisplayObjectContainer | ||
mouseEnabled : Boolean
指定此对象是否接收鼠标或其他用户输入、消息。 | InteractiveObject | ||
mouseFocusEnabled : Boolean
获取或设置一个值,该值指示组件是否可以在用户单击它后获得焦点。 | UIComponent | ||
mouseX : Number [只读]
表示此鼠标或用户输入设备位置的 x 坐标,以像素为单位。 | DisplayObject | ||
mouseY : Number [只读]
表示此鼠标或用户输入设备位置的 y 坐标,以像素为单位。 | DisplayObject | ||
name : String
表示 DisplayObject 的实例名称。 | DisplayObject | ||
needsSoftKeyboard : Boolean
指定当该 InteractiveObject 实例获得焦点时,是否显示虚拟键盘(显示在屏幕上的软键盘)。 | InteractiveObject | ||
numChildren : int [只读]
返回此对象的子项数目。 | DisplayObjectContainer | ||
opaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。 | DisplayObject | ||
parent : DisplayObjectContainer [只读]
表示包含此显示对象的 DisplayObjectContainer 对象。 | DisplayObject | ||
root : DisplayObject [只读]
对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。 | DisplayObject | ||
rotation : Number
表示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 | DisplayObject | ||
rotationX : Number
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。 | DisplayObject | ||
rotationY : Number
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。 | DisplayObject | ||
rotationZ : Number
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 z 轴旋转(以度为单位)。 | DisplayObject | ||
rowCount : uint [覆盖]
获取或设置在列表中至少部分可见的行的行数。 | List | ||
rowHeight : Number
获取或设置列表中每一行的高度,以像素为单位。 | List | ||
scale9Grid : Rectangle
当前有效的缩放网格。 | DisplayObject | ||
scaleX : Number [覆盖]
将组件的当前宽度与缩放系数相乘。 | UIComponent | ||
scaleY : Number [覆盖]
将组件的当前高度与缩放系数相乘。 | UIComponent | ||
scaleZ : Number
表示从对象的注册点开始应用的对象的深度缩放比例(百分比)。 | DisplayObject | ||
scrollRect : Rectangle
显示对象的滚动矩形范围。 | DisplayObject | ||
selectable : Boolean
获取或设置一个布尔值,指示列表中的项目是否可选。 | SelectableList | ||
selectedIndex : int
获取或设置单选列表中的选定项目的索引。 | SelectableList | ||
selectedIndices : Array
获取或设置一个数组,其中包含从多选列表中选定的项目。 | SelectableList | ||
selectedItem : Object
获取或设置从单选列表中选择的项目。 | SelectableList | ||
selectedItems : Array
获取或设置一个数组,其中包含多选列表中的选定项目的对象。 | SelectableList | ||
softKeyboard : String
控制软键盘的外观。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
定义当显示软键盘时应在屏幕上保留的区域(在 iOS 上不支持)。 | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
控制此 sprite 中的声音。 | Sprite | ||
stage : Stage [只读]
显示对象的舞台。 | DisplayObject | ||
tabChildren : Boolean
确定对象的子项是否支持 Tab 键。 | DisplayObjectContainer | ||
tabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。 | InteractiveObject | ||
tabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。 | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [只读]
返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。 | DisplayObjectContainer | ||
transform : flash.geom:Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。 | DisplayObject | ||
useBitmapScrolling : Boolean
设置为 true 时,滚动内容的 cacheAsBitmap 属性设置为 true;设置为 false 时,该值会关闭。 | BaseScrollPane | ||
useHandCursor : Boolean
布尔值,表示当指针滑过 buttonMode 属性设置为 true 的 sprite 时是否显示指针手形(手形光标)。 | Sprite | ||
verticalLineScrollSize : Number
获取或设置一个值,该值描述当单击滚动箭头时要在垂直方向上滚动多少像素。 | BaseScrollPane | ||
verticalPageScrollSize : Number
获取或设置按滚动条轨道时垂直滚动条上滚动滑块要移动的像素数。 | BaseScrollPane | ||
verticalScrollBar : ScrollBar [只读]
获取对垂直滚动条的引用。 | BaseScrollPane | ||
verticalScrollPolicy : String
获取或设置一个值,该值指示垂直滚动条的状态。 | BaseScrollPane | ||
verticalScrollPosition : Number
获取或设置一个值,该值描述滚动窗格中垂直滚动条的垂直位置(以像素为单位)。 | BaseScrollPane | ||
visible : Boolean [覆盖]
获取或设置一个值,该值指示当前组件实例是否可见。 | UIComponent | ||
width : Number [覆盖]
获取或设置组件的宽度(以像素为单位)。 | UIComponent | ||
x : Number [覆盖]
获取或设置 x 坐标,该坐标表示组件在其父容器内沿 x 轴的位置。 | UIComponent | ||
y : Number [覆盖]
获取或设置 y 坐标,该坐标表示组件在其父容器内沿 y 轴的位置。 | UIComponent | ||
z : Number
表示 DisplayObject 实例相对于 3D 父容器沿 z 轴的 z 坐标位置。 | DisplayObject |
方法 | 由以下参数定义 | ||
---|---|---|---|
List()
创建新的 List 组件实例。 | List | ||
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | DisplayObjectContainer | ||
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
向项目列表的末尾追加项目。 | SelectableList | ||
在指定索引位置处将项目插入列表。 | SelectableList | ||
表示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。 | DisplayObjectContainer | ||
清除列表中渲染器上所设置的样式。 | SelectableList | ||
清除列表中当前所选的项目,并将 selectedIndex 属性设置为 -1。 | SelectableList | ||
删除此组件实例的样式属性。 | UIComponent | ||
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。 | DisplayObjectContainer | ||
将事件调度到事件流中。 | EventDispatcher | ||
在此组件上显示或隐藏焦点指示符。 | UIComponent | ||
启动立即绘制操作,但不像 invalidateNow 那样使全部设置失效。 | UIComponent | ||
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。 | DisplayObject | ||
返回位于指定索引处的子显示对象实例。 | DisplayObjectContainer | ||
返回具有指定名称的子显示对象。 | DisplayObjectContainer | ||
返回 DisplayObject 的 child 实例的索引位置。 | DisplayObjectContainer | ||
检索当前具有焦点的对象。 | UIComponent | ||
检索指定索引处的项目。 | SelectableList | ||
返回 dataProvider 中下一个项目的索引,其中标签的第一个字符与指定的字符串字符相匹配。 | SelectableList | ||
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。 | DisplayObjectContainer | ||
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。 | DisplayObject | ||
检索列表中渲染器上所设置的样式。 | SelectableList | ||
检索组件的样式查找链中设置的样式属性。 | UIComponent | ||
[静态]
检索当前组件的默认样式映射。 | List | ||
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。 | DisplayObject | ||
将二维点从舞台(全局)坐标转换为三维显示对象的(本地)坐标。 | DisplayObject | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
计算显示对象的边框,以确定它是否与 obj 显示对象的边框重叠或相交。 | DisplayObject | ||
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。 | DisplayObject | ||
在未另外指定的情况下,将属性标记为无效,并在下一帧上重绘组件。 | UIComponent | ||
使特定项目渲染器失效。 | SelectableList | ||
使位于指定索引处的项目的渲染器失效。 | SelectableList | ||
使整个列表失效,强制重绘列表项目。 | SelectableList | ||
检查列表中的指定项目是否处于选中状态。 | SelectableList | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
为给定的项目对象(如果有)检索 ICellRenderer。 | SelectableList | ||
[覆盖]
基于 labelField 和 labelFunction 属性检索渲染器将为给定数据对象显示的字符串。 | List | ||
将三维显示对象的(本地)坐标的三维点转换为舞台(全局)坐标中的二维点。 | DisplayObject | ||
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 | DisplayObject | ||
[静态]
将多个类的样式合并到一个对象中。 | UIComponent | ||
将组件移动到其父项内的指定位置。 | UIComponent | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
删除列表中的所有项目。 | SelectableList | ||
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。 | DisplayObjectContainer | ||
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。 | DisplayObjectContainer | ||
从 DisplayObjectContainer 实例的子级列表中删除所有子 DisplayObject 实例。 | DisplayObjectContainer | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
从列表中删除指定项目。 | SelectableList | ||
删除指定索引位置处的项目。 | SelectableList | ||
用其他项目替换指定索引位置处的项目。 | SelectableList | ||
显示虚拟键盘。 | InteractiveObject | ||
[覆盖]
将列表滚动至位于指定索引处的项目。 | List | ||
将列表滚动至由 selectedIndex 属性的当前值指示的位置处的项目。 | SelectableList | ||
更改现有子项在显示对象容器中的位置。 | DisplayObjectContainer | ||
设置此组件的焦点。 | UIComponent | ||
设置循环操作动态属性的可用性。 | Object | ||
设置列表中渲染器上的样式。 | SelectableList | ||
将组件设置为指定宽度和高度。 | UIComponent | ||
对此组件实例设置样式属性。 | UIComponent | ||
对当前数据提供程序的元素进行排序。 | SelectableList | ||
以当前数据提供程序的一个或多个字段为依据对其元素进行排序。 | SelectableList | ||
允许用户拖动指定的 Sprite。 | Sprite | ||
使用户可以在启用触摸的设备上拖动指定的 Sprite。 | Sprite | ||
对源起于此对象的所有 MovieClip 递归停止时间轴执行。 | DisplayObjectContainer | ||
结束 startDrag() 方法。 | Sprite | ||
结束 startTouchDrag() 方法,用于启用触摸的设备。 | Sprite | ||
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。 | DisplayObjectContainer | ||
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。 | DisplayObjectContainer | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
验证并更新此对象的属性和布局,如果需要的话重绘对象。 | UIComponent | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
iconField | 属性 |
iconField:String
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
获取或设置用于提供项的图标的项字段。
注意:iconField
不在 iconFunction
属性设置为回调函数时使用。
默认值为 "icon"。
实现
public function get iconField():String
public function set iconField(value:String):void
示例 ( 如何使用本示例 )
RedBox
的元件必须位于库中,并且必须在其元件属性中选中“为 ActionScript 导出”:
import fl.data.DataProvider; import fl.controls.List; var dp:DataProvider = new DataProvider(); dp.addItem( { iconSource:RedBox, label:"Item 1" } ); dp.addItem( { iconSource:RedBox, label:"Item 2" } ); dp.addItem( { iconSource:RedBox, label:"Item 3" } ); var list:List = new List(); list.iconField = "iconSource"; list.dataProvider = dp; addChild(list);
iconFunction | 属性 |
iconFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
获取或设置用于获得项的图标的函数。
注意:iconField
不在 iconFunction
属性设置为回调函数时使用。
默认值为 null。
实现
public function get iconFunction():Function
public function set iconFunction(value:Function):void
示例 ( 如何使用本示例 )
iconFunction
属性为列表中的一些项目提供图标。 若要此示例正常工作,名为 RedBox
的元件必须位于库中,并且必须在其元件属性中选中“为 ActionScript 导出”:
import fl.data.DataProvider; import fl.controls.List; var dp:DataProvider = new DataProvider(); dp.addItem( { label:"Item 1" } ); dp.addItem( { label:"Item 2" } ); dp.addItem( { label:"Item 3" } ); var list:List = new List(); list.iconFunction = determineIcon; list.dataProvider = dp; addChild(list); function determineIcon(item:Object):String { if(item.label == "Item 2") { return "RedBox"; } else { return null; } }
labelField | 属性 |
labelField:String
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
获取或设置 dataProvider
对象中的字段名称,该字段名称将显示为 TextInput 字段和下拉列表的标签。
默认情况下,组件将显示各 dataProvider
项目的 label
属性。 如果 dataProvider
项目不包含 label
属性,则可以设置 labelField
属性以使用其他属性。
注意:labelField
属性不在 labelFunction
属性设置为回调函数时使用。
默认值为 "label"。
实现
public function get labelField():String
public function set labelField(value:String):void
相关 API 元素
示例 ( 如何使用本示例 )
abbreviatedLabel
属性(而不是默认的 label
属性)显示列表中的每个项目:
import fl.data.DataProvider; import fl.controls.List; var dp:DataProvider = new DataProvider(); dp.addItem( { abbreviatedLabel:"NY", label:"New York" } ); dp.addItem( { abbreviatedLabel:"CA", label:"California" } ); dp.addItem( { abbreviatedLabel:"WA", label:"Washington" } ); dp.addItem( { abbreviatedLabel:"CT", label:"Connecticut" } ); dp.addItem( { abbreviatedLabel:"VT", label:"Vermont" } ); var list:List = new List(); list.setSize(40,100); list.labelField = "abbreviatedLabel" list.dataProvider = dp; addChild(list);
labelFunction | 属性 |
labelFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
获取或设置用于获得项的标签的函数。
默认情况下,组件将显示 dataProvider
项目的 label
属性。 但某些数据集可能没有 label
字段,或者没有不需修改其值即可用作标签的字段。 例如,某给定数据集可能存储了全名,但将全名分开保存在 lastName
和 firstName
字段中。 在这种情况下,此属性可能用来设置一个回调函数,该函数将 lastName
和 firstName
字段的值连接在一起成为全名字符串以供显示。
注意:labelField
属性不在 labelFunction
属性设置为回调函数时使用。
默认值为 null。
实现
public function get labelFunction():Function
public function set labelFunction(value:Function):void
示例 ( 如何使用本示例 )
labelFunction
属性设置为一个函数,该函数为要显示在每个单元格中的字符串设置格式:
import fl.data.DataProvider; import fl.controls.List; var myDataProvider:DataProvider = new DataProvider(); myDataProvider.addItem({name:"User A", price:0.43}); myDataProvider.addItem({name:"User B", price:0.34}); var users:List = new List(); users.dataProvider = myDataProvider; users.labelFunction = myLabelFunction; addChild(users); function myLabelFunction(item:Object):String { return item.name + " ($" + item.price.toFixed(2) + ")"; }
rowCount | 属性 |
rowCount:uint
[覆盖] 语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
获取或设置在列表中至少部分可见的行的行数。
实现
override public function get rowCount():uint
override public function set rowCount(value:uint):void
示例 ( 如何使用本示例 )
rowCount
属性来确定可能成为可见行的数量:
import fl.data.DataProvider; import fl.controls.List; var dp:DataProvider = new DataProvider(); var i:uint; for(i=0; i<100; i++) { dp.addItem( { label: "Item " + i } ); } var list:List = new List(); list.setSize(100,300); list.dataProvider = dp; addChild(list); trace(list.rowCount); // 15
rowCount
,根据滑块的当前值设置 List 组件的大小:
import fl.controls.Slider; import fl.controls.List; import fl.data.DataProvider; import fl.events.SliderEvent; var dp:DataProvider = new DataProvider(); var i:int; for (i=0; i<8; i++) { dp.addItem({label:"Item " + i}); } var mySlider:Slider = new Slider(); mySlider.move(10, 10); mySlider.tickInterval = 1; mySlider.snapInterval = 1; mySlider.minimum = 2; mySlider.maximum = 9; mySlider.liveDragging = true; mySlider.addEventListener(SliderEvent.CHANGE, changeHandler); addChild(mySlider); var myList:List = new List(); myList.dataProvider = dp; myList.move(mySlider.x, mySlider.y + 20); myList.setSize(100, 50); addChild(myList); function changeHandler(event:SliderEvent):void { myList.rowCount = event.value; }
rowHeight | 属性 |
List | () | 构造函数 |
public function List()
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
创建新的 List 组件实例。
getStyleDefinition | () | 方法 |
public static function getStyleDefinition():Object
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
检索当前组件的默认样式映射。 样式映射包含适合组件的类型,具体取决于组件使用的样式。 例如,disabledTextFormat
样式包含 null
值或 TextFormat 对象。 可以使用这些样式并对当前组件调用 setStyle()
。下面的代码覆盖指定组件上默认的 disabledTextFormat
样式:
componentInstance.setStyle("disabledTextFormat", new TextFormat());
Object — 默认样式对象。
|
相关 API 元素
示例 ( 如何使用本示例 )
import fl.controls.*; import fl.containers.*; import fl.controls.listClasses.*; import fl.controls.dataGridClasses.*; import fl.controls.progressBarClasses.*; import fl.core.UIComponent; import fl.data.DataProvider; var dp:DataProvider = new DataProvider(); dp.addItem( { label: "BaseScrollPane", data:BaseScrollPane } ); dp.addItem( { label: "Button", data:Button } ); dp.addItem( { label: "CellRenderer", data:CellRenderer } ); dp.addItem( { label: "CheckBox", data:CheckBox } ); dp.addItem( { label: "ColorPicker", data:ColorPicker } ); dp.addItem( { label: "ComboBox", data:ComboBox } ); dp.addItem( { label: "DataGrid", data:DataGrid } ); dp.addItem( { label: "HeaderRenderer", data:HeaderRenderer } ); dp.addItem( { label: "ImageCell", data:ImageCell } ); dp.addItem( { label: "IndeterminateBar",data:IndeterminateBar } ); dp.addItem( { label: "Label", data:Label } ); dp.addItem( { label: "List", data:List } ); dp.addItem( { label: "NumericStepper", data:NumericStepper } ); dp.addItem( { label: "ProgressBar", data:ProgressBar } ); dp.addItem( { label: "RadioButton", data:RadioButton } ); dp.addItem( { label: "ScrollPane", data:ScrollPane } ); dp.addItem( { label: "Slider", data:Slider } ); dp.addItem( { label: "TextArea", data:TextArea } ); dp.addItem( { label: "TextInput", data:TextInput } ); dp.addItem( { label: "TileList", data:TileList } ); dp.addItem( { label: "UILoader", data:UILoader } ); dp.addItem( { label: "UIComponent", data:UIComponent } ); var cb:ComboBox = new ComboBox(); cb.move(10,10); cb.setSize(300,25); cb.prompt = "Select a component to view its styles"; cb.rowCount = 12; cb.dataProvider = dp; cb.addEventListener(Event.CHANGE, showStyleDefinition); addChild(cb); var dg:DataGrid = new DataGrid(); dg.setSize(425,300); dg.move(10,50); dg.columns = [ new DataGridColumn("StyleName"), new DataGridColumn("DefaultValue") ]; addChild(dg); function showStyleDefinition(e:Event):void { var componentClass:Class = e.target.selectedItem.data as Class; var styles:Object = componentClass["getStyleDefinition"].call(this); trace(styles.toString()); var styleData:DataProvider = new DataProvider(); for(var i:* in styles) { trace(i + " : " + styles[i]); styleData.addItem( { StyleName:i, DefaultValue:styles[i] } ); } styleData.sortOn("StyleName"); dg.dataProvider = styleData; }
itemToLabel | () | 方法 |
override public function itemToLabel(item:Object):String
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
基于 labelField
和 labelFunction
属性检索渲染器将为给定数据对象显示的字符串。
注意:labelField
不在 labelFunction
属性设置为回调函数时使用。
参数
item:Object — 要呈现的对象。
|
String — 根据数据要显示的字符串。
|
示例 ( 如何使用本示例 )
import fl.controls.List; import fl.data.DataProvider; import fl.events.ListEvent; var myDataProvider:DataProvider = new DataProvider(); myDataProvider.addItem({label:"Carrot", price:0.43}); myDataProvider.addItem({label:"Tomato", price:0.34}); myDataProvider.addItem({label:"Blueberry", price:0.72}); myDataProvider.addItem({label:"Turnip", price:0.24}); var myList:List = new List(); myList.setSize(300,80); myList.dataProvider = myDataProvider; myList.labelFunction = myLabelFunction; myList.addEventListener(ListEvent.ITEM_ROLL_OVER, announceLabel); addChild(myList); function myLabelFunction(item:Object):String { return item.label + " - Current price: ($" + item.price.toFixed(2) + ")"; } function announceLabel(e:ListEvent):void { var list:List = e.target as List; var item:Object = e.item; trace("Label: " + item.label); trace("Label displayed: " + list.itemToLabel(item)); }
scrollToIndex | () | 方法 |
- 将 List、Button 和 Label 类添加到库中。
- 将该代码作为 ListExample.as 另存到 FLA 文件所在的同一目录中。
- 将 FLA 中的 DocumentClass 设置为 ListExample。
package { import flash.display.Sprite public class ListExample extends Sprite { import flash.events.*; import fl.data.DataProvider; import fl.controls.List import fl.controls.Label import fl.controls.Button private var clearButton:Button; private var availableItems:List; private var selectedItemList:List; private var selectedItemsList:List; public function ListExample() { createComponents(); setupComponents(); } private function setupComponents():void { var dp:Array = new Array(); var i:uint; var count:uint = availableItems.rowCount * 2; for (i = 0; i < count; i++) { dp.push({label:"Item " + i}); } availableItems.allowMultipleSelection = true; availableItems.dataProvider = new DataProvider(dp); availableItems.addEventListener(Event.CHANGE, updateLists); clearButton.addEventListener(MouseEvent.CLICK, clearHandler); } private function clearHandler(event:MouseEvent):void { availableItems.clearSelection(); // clear data providers selectedItemList.dataProvider = new DataProvider(); selectedItemsList.dataProvider = new DataProvider(); } private function updateLists(e:Event):void { selectedItemList.dataProvider = availableItems.selectedItem ? new DataProvider([availableItems.selectedItem]) : new DataProvider(); selectedItemsList.dataProvider = new DataProvider(availableItems.selectedItems); } private function createComponents():void { clearButton = new Button(); availableItems = new List(); selectedItemList = new List(); selectedItemsList = new List(); var availableItemsLabel:Label = new Label(); var selectedItemListLabel:Label = new Label(); var selectedItemsListLabel:Label = new Label(); clearButton.move(10,142); availableItems.move(10,32); selectedItemList.move(120,32); selectedItemsList.move(230,32); availableItemsLabel.move(10,10); selectedItemListLabel.move(120,10); selectedItemsListLabel.move(230,10); clearButton.label = "Clear Selection" availableItemsLabel.text = "Available Items"; selectedItemListLabel.text = "Selected Item"; selectedItemsListLabel.text = "All Selected Items"; addChild(clearButton); addChild(availableItems); addChild(selectedItemList); addChild(selectedItemsList); addChild(availableItemsLabel); addChild(selectedItemListLabel); addChild(selectedItemsListLabel); } } }
Tue Jun 12 2018, 11:04 AM Z