ListView * listview = ListView::create(); //设置listview方向 垂直 listview->setDirection(ScrollView::Direction::VERTICAL); listview->setBackGroundImage("ccc.png"); //背景做9宫格填充 listview->setBackGroundImageScale9Enabled(true); listview->setContentSize(Size(480, 260)); //设置listview的位置 listview->setPosition(Vec2((visibleSize.width - listview->getContentSize().width) / 2.0f, (visibleSize.height - listview->getContentSize().height) / 2.0f)); //listview添加侦听事件 listview->addEventListener((ui::ListView::ccListViewCallback)CC_CALLBACK_2(HelloWorld::callback,this)); this->addChild(listview); for (int i = 0; i < 10;++i) { auto button = Button::create("",""); button->setName("Title Button"); button->setScale9Enabled(true); button->setContentSize(Size(200, 60)); button->setTitleText((StringUtils::format("listview_item_%d", i))); //设置字体大小 button->setTitleFontSize(24); //创建一个layout auto custon_item = Layout::create(); custon_item->setContentSize(button->getContentSize()); custon_item->setPosition(Vec2()); custon_item->addChild(button); listview->addChild(custon_item); }//回调函数void HelloWorld::callback(cocos2d::Ref *pSender, ListView::EventType type){ switch (type) { case ListView::EventType::ON_SELECTED_ITEM_START: { ListView *listView = static_cast<ListView*>(pSender); } break; case ListView::EventType::ON_SELECTED_ITEM_END: { ListView * listView = static_cast<ListView *>(pSender); } break; default: break; }}listView->setItemModel(default_item); //设置模型listView->pushBackDefaultItem();//添加默认元素listView->insertDefaultItem(index);//插入默认元素Layout * custom_item = Layout::create();listView->addChild(custom_item);//添加常规元素listView->insertCustomItem(custom_item, index) //插入常规元素Vector<Widget*>& items = listView->getItems(); //返回保存元素的容器Widget* item = listView->getItem(i); //获取某个索引的元素ssize_t index = listView->getIndex(item); //获取某个元素的索引listView->removeChildByTag(1);//继承自CCNode的函数listView->removeItem(items_count - 1);//删除某个索引的元素listView->setGravity(ListView::Gravity::CENTER_VERTICAL); //设置重力listView->setItemsMargin(2.0f); //改变两个元素之间的边界