| 套件 | 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 組件是由項目、列和資料提供者所組成,如下所述:
- 項目:ActionScript 物件,通常包含描述性的
label屬性,以及會存放與該項目有關之資料的data屬性。 - 列:用來顯示項目的組件。
- 資料提供者:當做 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
會取得 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,當 cacheAsBitmap 設定為 true 時,這個 Matrix 物件會定義顯示物件的顯示方法。 | DisplayObject | |
![]() | constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | |
![]() | contextMenu : NativeMenu
指定與此物件有關聯的快顯選單。 | InteractiveObject | |
![]() | dataProvider : DataProvider
會取得或設定要檢視之項目清單的資料模型。 | SelectableList | |
![]() | doubleClickEnabled : Boolean
會指定物件是否會收到 doubleClick 事件。 | InteractiveObject | |
![]() | dropTarget : DisplayObject [唯讀]
指定要將 sprite 拖曳至或丟棄至哪個顯示物件上。 | Sprite | |
![]() | enabled : Boolean
會取得或設定值,指出組件是否可以接受使用者互動。 | UIComponent | |
![]() | filters : Array
索引的陣列,其中包含目前和顯示物件相關的每個濾鏡物件。 | DisplayObject | |
![]() | focusEnabled : Boolean
會取得或設定 Boolean 值,指出組件是否可以在使用者按一下之後成為焦點。 | UIComponent | |
![]() | focusManager : IFocusManager
會取得或設定控制此組件及其同輩之焦點的 FocusManager。 | UIComponent | |
![]() | focusRect : Object
會指定這個物件是否會顯示焦點矩形。 | InteractiveObject | |
![]() | graphics : Graphics [唯讀]
指定屬於此 sprite 物件的 Graphics 物件,其中可能會產生向量繪圖命令。 | 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 標籤與 SWF 檔案中的這個 DisplayObject 實體一同儲存,則會取得 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
會取得或設定 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
判斷物件的子系是否支援啟用定位鍵。 | DisplayObjectContainer | |
![]() | tabEnabled : Boolean
會指定這個物件是否在停駐點順序中。 | InteractiveObject | |
![]() | tabIndex : int
會指定 SWF 檔中的物件停駐點順序。 | InteractiveObject | |
![]() | textSnapshot : flash.text:TextSnapshot [唯讀]
傳回此 DisplayObjectContainer 實體的 TextSnapshot 物件。 | DisplayObjectContainer | |
![]() | transform : flash.geom:Transform
這是一個物件,具有和顯示物件的矩陣、顏色轉換和像素邊界有關的屬性。 | DisplayObject | |
![]() | useBitmapScrolling : Boolean
設定為 true 時,捲動內容的 cacheAsBitmap 屬性會設定為 true;設定為 false 時,則會關閉這個值。 | BaseScrollPane | |
![]() | useHandCursor : Boolean
指示當指標滑入 Sprite,且其 buttonMode 屬性設為 true 時,是否要出現指示手掌 (手掌游標) 的 Boolean 值。 | 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 | |
![]() |
傳回 child DisplayObject 實體的索引位置。 | 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 | |
![]() |
將指定的 child DisplayObject 實體從 DisplayObjectContainer 實體的子清單中移除。 | DisplayObjectContainer | |
![]() |
從 DisplayObjectContainer 子清單中的指定索引位置移除子 DisplayObject。 | DisplayObjectContainer | |
![]() |
將所有 child DisplayObject 實體從 DisplayObjectContainer 實體的子清單中移除。 | DisplayObjectContainer | |
![]() |
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | |
![]() |
會移除清單中的指定項目。 | SelectableList | |
![]() |
移除位於指定索引位置的項目。 | SelectableList | |
![]() |
會以另一個項目取代位於指定索引位置的項目。 | SelectableList | |
![]() |
升起顯示虛擬鍵盤。 | InteractiveObject | |
[覆寫]
會將清單捲動到位於指定索引的項目。 | List | ||
![]() |
會將清單捲動到 selectedIndex 屬性目前值所示位置的項目。 | SelectableList | |
![]() |
變更顯示物件容器中現有子系的位置。 | DisplayObjectContainer | |
![]() |
將焦點設定到此組件。 | UIComponent | |
![]() |
為迴圈作業設定動態屬性的可用性。 | Object | |
![]() |
會針對清單中的輸出器設定樣式。 | SelectableList | |
![]() |
會將組件設定為指定的寬度和高度。 | UIComponent | |
![]() |
針對此組件實體設定樣式屬性。 | UIComponent | |
![]() |
會排序目前資料提供者的元素。 | SelectableList | |
![]() |
會依據目前資料提供者的一個或多個欄位,排序此資料提供者的元素。 | SelectableList | |
![]() |
讓使用者拖曳指定的 sprite。 | Sprite | |
![]() |
讓使用者將指定的 Sprite 拖曳至觸控裝置上。 | Sprite | |
![]() |
遞迴停止執行所有 MovieClips 的時間軸根源於此物件。 | 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 |
會取得或設定提供項目圖示的項目欄位。
注意:如果將 iconFunction 屬性設定為回呼函數,就不會使用 iconField。
預設值為 "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 |
會取得或設定要用來取得項目圖示的函數。
注意:如果將 iconFunction 屬性設定為回呼函數,就不會使用 iconField。
預設值為 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 屬性設定為使用不同的屬性。
注意:如果將 labelFunction 屬性設定為回呼函數,就不會使用 labelField 屬性。
預設值為 "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 欄位的值連接成完整的姓名字串以供顯示。
注意:如果將 labelFunction 屬性設定為回呼函數,就不會使用 labelField 屬性。
預設值為 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 屬性所指定的資料物件顯示此字串。
注意:如果將 labelFunction 屬性設定為回呼函數,就不會使用 labelField。
參數
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, 03:47 PM Z
隱藏繼承公用屬性
顯示繼承公用屬性