登录站点

用户名

密码

自由联盟 - 开源项目提交群组

  • 分享

    flashswing关于list组件的使用

    Clare 2012-12-08 12:01

    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});
     

    通过自定义 CellRenderer 创建行高/宽不固定的列表。

    首先,创建自定义单元格渲染器 MultiLineCellRenderer 类(继承于 ListCellRenderer)。

    package {
    	import flash.text.TextFieldAutoSize;
    	public class MultiLineCellRenderer extends 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 编辑]
你还不是该群组正式成员,不能参与讨论。 现在就加入