flashswing關于list組件的使用
List 組件是一個可滾動的單選或多選列表框。
List 組件使用基于零的索引,其中索引為 0 的項目就是顯示在頂端的項目。當使用 List 類的方法和屬性添加、刪除或替換列表項時,您可能需要指定該列表項的索引。
在單擊列表或按 Tab 鍵切換到列表時,列表獲得焦點,然后您可使用以下鍵控制它:
注意 Page Up 鍵和 Page Down 鍵使用的頁的大小比可以顯示的項數少一項。例如,在一個十行的下拉列表中向下翻頁,將會依次顯示第 0-9 項、第 9-18 項、第 18-27 項等等,每頁都會有一個重疊項
以下示例演示列表的屬性,以及監聽用戶交互操作的結果。
從"庫"面板中拖動相關組件到舞臺(或直接通過 ActionScript 代碼創建組件實例),并對實例命名。
在主時間軸中選擇第一幀,打開"動作"面板,然后輸入以下代碼:
import
flash
.events
.Event
;my_list.
addEventListener
(Event
.CHANGE
,function
(evt:Event
){ selectedIndex_txt.text
= my_list.getSelectedIndex().toString
(); selectedIndices_txt.text
= "[" + my_list.getSelectedIndices() + "]"; }); my_list.addItem
({label
:"Sunday",data
:0}); my_list.addItem
({label
:"Monday",data
:1}); my_list.addItem
({label
:"Tuesday",data
:2}); my_list.addItem
({label
:"Wednesday",data
:3}); my_list.addItem
({label
:"Thursday",data
:4}); my_list.addItem
({label
:"Friday",data
:5}); my_list.addItem
({label
:"Saturday",data
:6});</pre>![]()
通過自定義 CellRenderer 創建行高/寬不固定的列表。
首先,創建自定義單元格渲染器 MultiLineCellRenderer 類(繼承于 ListCellRenderer)。
package
{import
flash
.text
.TextFieldAutoSize
;public
class
MultiLineCellRendererextends
ListCellRenderer {public
override
function
getAutoSize():Boolean
{return
true
; }public
override
function
repaint():void
{textField
.autoSize
=TextFieldAutoSize
.LEFT
;textField
.width
= _width -textField
.x
* 2;textField
.htmlText
= getLabel();textField
.textColor
= getData().data
;skin
.width
= _width;skin
.height
=textField
.y
* 2 +textField
.height
; } } }同上例,在主時間軸中選擇第一幀,打開"動作"面板,然后輸入以下代碼:
my_list.setCellRenderer(MultiLineCellRenderer); my_list.addItem
({label
:"Brown, 0xA52A2A",data
:0xA52A2A}); my_list.addItem
({label
:"DarkSlateGray, 0x2F4F4F",data
:0x2F4F4F}); my_list.addItem
({label
:"MediumAquamarine, 0x66CDAA",data
:0x66CDAA}); my_list.addItem
({label
:"DeepSkyBlue, 0x00BFFF",data
:0x00BFFF}); my_list.addItem
({label
:"MediumVioletRed, 0xC71585",data
:0xC71585}); my_list.addItem
({label
:"Purple, 0x800080",data
:0x800080}); my_list.addItem
({label
:"YellowGreen, 0x9ACD32",data
:0x9ACD32});
相關資料來源于:http://www.shinater.com/FlashSwing/Help/List.html
[本話題由 Clare 于 2012-12-08 12:02:03 編輯]