cocos2dx c++、lua listView创建示例

来源:互联网 发布:网络歌手袁晓婕诈骗 编辑:程序博客网 时间:2024/06/15 04:08

由于官方没有listView类的测试例子,给大家的学习会造成一定的影响,所以希望这篇文章对大家有用处。

c++:

    ui::ListView* lv = ui::ListView::create();    lv->setDirection(ui::ScrollView::Direction::VERTICAL);//设置方向为垂直方向    lv->setBounceEnabled(true);    lv->setBackGroundImage("white_bg.png");    lv->setBackGroundImageScale9Enabled(true);    lv->setContentSize(Size(300, 640));    lv->setAnchorPoint(Vec2(0.5,0.5));    Size visibleSize = Director::getInstance()->getVisibleSize();    lv->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2));    lv->setItemsMargin(10);    addChild(lv);        auto size = Size(300,100);    for (int i = 0; i < 15; ++i)    {        auto image = ui::ImageView::create("test.png");        image->setPosition(Vec2(image->getContentSize().width/2,size.height/2));                //listView的item需要用Layout对象        auto layout = cocos2d::ui::Layout::create();                layout->setBackGroundImageScale9Enabled(true);                layout->setBackGroundImage("black_bg.png");                //或者设计背景色        //layout->setBackGroundColorType(cocos2d::ui::Layout::BackGroundColorType::SOLID);        //layout->setBackGroundColor(Color3B(255, 255, 255));                layout->setContentSize(size);                  layout->addChild(image);        lv->addChild(layout);              }

lua:

function LobbyScene:initListView()self.listView = ccui.ListView:create();self.listView:setPosition(cc.p(10, 10));self.listView:setContentSize(cc.size(1116, 550));self.listView:setDirection(cc.SCROLLVIEW_DIRECTION_VERTICAL);self.listView:setBounceEnabled(true);self.listView:setItemsMargin(20)for i = 1, 4 dolocal layout = ccui.Layout:create();layout:setContentSize(cc.size(1116, 209));layout:setBackGroundColorType(ccui.LayoutBackGroundColorType.solid);layout:setBackGroundColor(cc.c3b(255, 255, 255));self.listView:pushBackCustomItem(layout);endself:addChild(self.listView);end