由于官方没有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 do
local 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);
end
self:addChild(self.listView);
end