1. 程式人生 > >quick-cocos2d-x中的ListView詳解

quick-cocos2d-x中的ListView詳解

在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按鈕而已。