第一节、首先,看看是如何将数据添加进LIST组件中,以及如何显示鼠标点击的对象。
1、静态生成方法:
my_list.addItem("labe"l,data);
实例:新建文件,将LIST组件拖至场景中。并将LIST组件的实例名称修改为“my_list”,在第一帧添加如下代码:
如果想测试效果,可以再在AS代码中多添加几个。。。
实例演示:
http://www.taoshaw.com/flash/list/lesson1.swf


2、动态生成方法(通过加载XML,将数据添加进LIST):
实例:新建文件,将LIST组件拖至场景中。并将LIST组件的实例名称修改为“my_list”,在第一帧添加如下代码:
function xmlload() {
  var childnodes = this.firstChild.childNodes;
//防止垒加,这句话的含义就是让my_list每次加载的XML不一样。
  _root.my_list.removeAll();
  for (var i:Number = 0; i<childnodes.length; i++) {
    _root.my_list.addItem(childnodes[i].attributes.label, childnodes[i].attributes.data);
  }
}

3、通过按钮点击,分别加载不同的XML文件。
};

4、调用被鼠标点击后的对象,以及调用该对象的数据:
  var n:Number=_root.my_list.selectedIndex;
  _root.my_list.removeItemAt(n)

3、上一个、下一个选择方法:

j = 0;
arr_3 = new Array();
arr_4 = new Array();

//以下判断是否重复选择============
var label_arr:Array = new Array();
//检测是否有重复的Label值
function checkRepeat(v) {
  var isRepeat:Boolean = false;
  var len:Number = label_arr.length;
  for (var i = 0; i<len; i++) {
    if (v == label_arr[i]) {
      isRepeat = true;
      break;
    }
  }
  return isRepeat;
}
//========================

//点击选择单项
newobj.change = function(num) {
  var newobject = num.target.selectedItem;
  arr_3[j] = newobject.label;
  arr_4[j] = newobject.data;
  if (checkRepeat(arr_4[j]) == false) {
  _root.my_listother.addItem({data:arr_4[j], label:arr_3[j]});
    label_arr.push(arr_4[j]);
  } else {
    already_select.gotoAndPlay(2);
  }
  j++;
};

5、点击按钮,将一个LIST中所有项目添加进另一个LIST中。
http://www.taoshaw.com/flash/list/listico.html

7、LIST组件的美化。
关于LIST组件样式的美化(包含修改滚动条样式等):
实例:
http://www.taoshaw.com/flash/listmeihua.swf


代码如下:(LIST实例名为:“clList”)
//upArrowUpName 向上和向左按钮的弹起(正常)状态。默认值为 ScrollUpArrowUp。
 
upArrowOverName 向上和向左按钮的滑过状态。默认值为 ScrollUpArrowOver。
 
upArrowDownName 向上和向左按钮的按下状态。默认值为 ScrollUpArrowDown。
 
downArrowUpName 向下和向右按钮的弹起(正常)状态。默认值为 ScrollDownArrowUp。
 
downArrowOverName 向下和向右按钮的滑过状态。默认值为 ScrollDownArrowOver。
 
downArrowDownName 向下和向右按钮的按下状态。默认值为 ScrollDownArrowDown。
 
scrollTrackName 用于滚动条的轨道(背景)的元件。默认值为 ScrollTrack。
 
scrollTrackOverName 用于滑过滚动轨道时的轨道(背景)的元件。默认值为 undefined。
 
scrollTrackDownName 用于按下滚动轨道时的轨道(背景)的元件。默认值为 undefined。
 
thumbTopName 滚动框(滑块)的顶端和左端。默认值为 ScrollThumbTopUp。
 
thumbMiddleName 滑块的中间(可扩展)部分。默认值为 ScrollThumbMiddleUp。
 
thumbBottomName 滑块的底端和右端。默认值为 ScrollThumbBottomUp。
 
thumbGripName 显示在滑块之上的抓手。默认值为 ScrollThumbGripUp。

8、关于LIST组件样式的设置参考:
http://doc.51windows.net/FlashHelpSC/?url=/FlashHelpSC/sc/UsingComponents/04_components91.html
http://doc.51windows.net/FlashHelpSC/?url=/FlashHelpSC/sc/UsingComponents/04_components98.html
http://www.5460.net/gy5460/jsp/article/dispArt.jsp?dNum=535270
List组件样式属性


 backgroundColor 背景色

 backgroundAlpha 背景色透明度 数值从0.00~1.00

 useRollOver 是否使用鼠标经过List每一项时产生效果 true false

 rollOverColor 鼠标经过每一项时的背景色 useRollOver为

true时有效

 textRollOverColor 鼠标经过每一项时的文字颜色 useRollOver为

true时有效

 alternatingItemColors List中间隔背景色 这个属性要设置2个色

彩,某一项的背景色和下一项的背景色

 color 选项文本颜色

 selectionColor 被选中项的背景色

 textSelectedColor 被选中项的文字颜色

 

 textIndent 选项文本缩进距离

 selectionDuration 被选中项渐变速度 被选中项背景色变为

selectionColor中的值的速度,设置可实现渐变效果 数值从0~5000 值越大,渐变速度越慢

 borderStyle 边框样式 none solid inset

outset

 borderColor 边框颜色

 borderThickness 边框粗细 数值从0~20

 dropShadowEnabled 是否显示投影 true和false 2个属性

 shadowDistance 投影大小 dropShadowEnabled为true时有效 数

值从0~20

 shadowDirection 投影方向 3个属性 left right center

 dropShadowColor 投影的颜色

9、怎么能把list组件的边去了?
//my_list为LIST组件在场景中的实例名称。
_root.my_list.setStyle("borderStyle", "none");

10、为LIST组件指定交替模式中行的颜色:
//直接粘贴此行。。。是固定模式。。。
_global.styles.ScrollSelectList.setStyle("alternatingRowColors", [0xFF00AA, 16777215])

11、让list组件支持html标签:
http://www.stonemx.com/blog/archives/2006/200681803148.html

12、通过dataProvider给LIST组件添加数据源,数据源来自来数组;
var my_List:mx.controls.List;
var myArray:Array=new Array();
myArray.push({label:"涪陵",data:1});
myArray.push({label:"丰都",data:2})
myArray.push({label:"重庆",data:3})
my_List.dataProvider=myArray;
//备注:通过dataProvider给组件添加数据时,第二次使用本命令,将会替换掉第一次的全部数据。而使用addItem则不会。

13、使用事件调度返回LIST的值:
var my_List:mx.controls.List;
var my_Array:Array=new Array();
my_Array.push({label:"涪陵",data:1})
my_Array.push({label:"丰都",data:2])
my_List.dataProvider=my_Array;
var LO:Object=new Object();
LO.change=function(eventObj:Object):Void{
trace(eventObj.target.selectedItem.data)
}

my_List.addEventListener("change",LO)

转至

 http://www.taoshaw.com/taoshaw/article.asp?id=1299

 

相关文章: