设置方法
获得对象list后
list.SetVirtual();
list.numItems=5;//设置列表长度
循环列表
list.SetVirtualAndLoop();
这样即可支持循环滚动
渲染列表项
通过itemRenderer回调函数进行设置
list.itemRenderer=RenderListItem;
void RenderListItem(int index,GObject obj){
GButton item=obj.asButton;
item.SetPivot(0.5f,0.5f);//设置中心点
//TODO:
}
其它事件监听
- 滚动事件
list.scrollPane.onScroll.Add(Test);
void Test(){
}
滚动到某个位置
list.AddSelection(10)
注意事项
- 数量
list.numChildren指的是当前视图中显示出来的item个数(且active状态为true)
list.numItem是设置列表长度时使用的,是列表中总共的项数
- 获得子item
list.GetChildAt(0)获得的对象并不一定是列表的第一项。
需要做一下转换,如下代码便可以获得第一项:
int itemIndex=0;
int childIndex =list.ItemIndexToChildIndex(itemIndex);
list.GetChildAt(childIndex)
- 重排
list.ensureBoundsCorrect()
手动触发列表重新排列
- 其它
虚拟列表只能通过numItems设置列表项的数量,不能使用AddChild、RemoveChild、RemoveChildren来增删对象。若清空列表则使用numItems=0