首页 > 其他 > 详细

ListView

时间:2017-01-09 12:35:15      阅读:132      评论:0      收藏:0      [点我收藏+]
  1. ListView * listview = ListView::create();
  2. //设置listview方向 垂直
  3. listview->setDirection(ScrollView::Direction::VERTICAL);
  4. listview->setBackGroundImage("ccc.png");
  5. //背景做9宫格填充
  6. listview->setBackGroundImageScale9Enabled(true);
  7. listview->setContentSize(Size(480, 260));
  8. //设置listview的位置
  9. listview->setPosition(Vec2((visibleSize.width - listview->getContentSize().width) / 2.0f, (visibleSize.height - listview->getContentSize().height) / 2.0f));
  10. //listview添加侦听事件
  11. listview->addEventListener((ui::ListView::ccListViewCallback)CC_CALLBACK_2(HelloWorld::callback,this));
  12. this->addChild(listview);
  13. for (int i = 0; i < 10;++i)
  14. {
  15. auto button = Button::create("","");
  16. button->setName("Title Button");
  17. button->setScale9Enabled(true);
  18. button->setContentSize(Size(200, 60));
  19. button->setTitleText((StringUtils::format("listview_item_%d", i)));
  20. //设置字体大小
  21. button->setTitleFontSize(24);
  22. //创建一个layout
  23. auto custon_item = Layout::create();
  24. custon_item->setContentSize(button->getContentSize());
  25. custon_item->setPosition(Vec2());
  26. custon_item->addChild(button);
  27. listview->addChild(custon_item);
  28. }
  29. //回调函数
  30. void HelloWorld::callback(cocos2d::Ref *pSender, ListView::EventType type)
  31. {
  32. switch (type)
  33. {
  34. case ListView::EventType::ON_SELECTED_ITEM_START:
  35. {
  36. ListView *listView = static_cast<ListView*>(pSender);
  37. }
  38. break;
  39. case ListView::EventType::ON_SELECTED_ITEM_END:
  40. {
  41. ListView * listView = static_cast<ListView *>(pSender);
  42. }
  43. break;
  44. default:
  45. break;
  46. }
  47. }
  48. listView->setItemModel(default_item); //设置模型
  49. listView->pushBackDefaultItem();//添加默认元素
  50. listView->insertDefaultItem(index);//插入默认元素
  51. Layout * custom_item = Layout::create();
  52. listView->addChild(custom_item);//添加常规元素
  53. listView->insertCustomItem(custom_item, index) //插入常规元素
  54. Vector<Widget*>& items = listView->getItems(); //返回保存元素的容器
  55. Widget* item = listView->getItem(i); //获取某个索引的元素
  56. ssize_t index = listView->getIndex(item); //获取某个元素的索引
  57. listView->removeChildByTag(1);//继承自CCNode的函数
  58. listView->removeItem(items_count - 1);//删除某个索引的元素
  59. listView->setGravity(ListView::Gravity::CENTER_VERTICAL); //设置重力
  60. listView->setItemsMargin(2.0f); //改变两个元素之间的边界





ListView

原文:http://www.cnblogs.com/feizuzu/p/a831fe26cef4db167ba6bb924ca4f88d.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!