FairyGUI虚拟列表

设置方法

获得对象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

发布了198 篇原创文章 · 获赞 23 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/iningwei/article/details/104281389