在quick-cocos2dx中创建ListView的大步骤有2步:
1 创建一个ListView
2 创建ListView的Items
首先是创建一个ListView,ListView的创建与PageView一致,new 后面跟table,因此创建的参数顺序是没有问题的。
self.list_view = cc.ui.UIListView.new { bg, --背景图(默认无) bg_color, --背景色(默认白色) bg_scale9, -- 是否使用9宫格 view_rect, --整个listview的大小,table_rect cc.rect{top, left, width, height} direction, --滚动方向,横向或纵向,默认横向 scrollbar_img, --滚动条图片 }:OnTouch(handle(self, self.onTouch) :addTo(self)它的原型为
cc.ui.UIListView.new {}
若只有这一句,则创建一个空的ListView啥都没有,填充好这些参数以后,才会出现控件
接下来是添加Items。代码如下
for item_index = 1, 20 do local item = self.list_view:newItem() --要添加的子项 local content -- 子项的内容 content = cc.ui.UILable.new( --这里子项是Label { text = 'item'..item_index, size = 20, align = cc.ui.TEXT_ALIGN_CENTER, color = display.COLOR_WHITE } ) item:addChild(content) -- 子项添加内容 item:setItemSize(100, 30) self.list_view:addItem(item) end self.list_view:reload() --刷新list,让其显示整个添加过程和PageView差不多一样的。
demo里给出的那个grid的例子实际上是个vertical方向的ListView
只是每排放3个Button按钮而已。