码迷,mamicode.com
首页 > 其他好文 > 详细

cocos代码研究(25)Widget子类PageView学习笔记

时间:2015-10-09 22:48:23      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

基础理论

ListView控件是一个显示滚动项目列表的视图组。 列表项是通过使用addChild或insertDefaultItem插入到列表中的,继承自ScrollView。

代码实践

static ListView * create()
创建一个空ListView。

void setItemModel (Widget *model)
设定一个ListView的模型。 当调用pushBackDefaultItem,该模型将作为一个蓝图,新副本将被插入到ListView控件。

void pushBackDefaultItem ()
插入一个默认项(通过克隆模式创建)到ListView的尾部。

void insertDefaultItem (ssize_t index)
插入一个默认项(通过克隆模式创建)到ListView的指定位置。

void pushBackCustomItem (Widget *item)
插入一个自定义项到ListView的尾部。

void insertCustomItem (Widget *item, ssize_t index)
插入自定义窗口小控件到ListView中指定索引处。

void removeLastItem ()
删除ListView最后一个项目

void removeItem (ssize_t index)
在给定索引处删除一个项目

void removeAllItems ()
删除当前ListView中的所有项目。

Widget * getItem (ssize_t index) const
返回一个给定的索引处的项目。

Vector< Widget * > & getItems ()
返回ListView中的所有项目。

ssize_t getIndex (Widget *item) const
返回指定窗口小控件的索引。

void setGravity (Gravity gravity)
设置的ListView引力。

void setItemsMargin (float margin)
设置ListView中每一项之间的边距。

float getItemsMargin () const
查询ListView每个项之间的边距。

ssize_t getCurSelectedIndex () const
查询当前选中控件的索引。

void addEventListenerListView (Ref *target, SEL_ListViewEvent selector)
添加ListView点击事件的回调,ListView中的一个项目被点击将会调用回调函数。

void addEventListener (const ccListViewCallback &callback)
添加ListView点击事件的回调,ListView中的一个项目被点击将会调用回调函数。

void requestRefreshView ()
手动刷新view和ListView的布局。 该方法将列表视图内容标记为dirty,内容视图将在下一帧刷新。

void refreshView ()
更新ListView的视图。

实例:

        // Create the list view ex
        ListView* listView = ListView::create();
        // set list view ex direction
        listView->setDirection(ui::ScrollView::Direction::HORIZONTAL);
        listView->setTouchEnabled(true);
        listView->setBounceEnabled(true);
        listView->setBackGroundImage("cocosui/green_edit.png");
        listView->setBackGroundImageScale9Enabled(true);
        listView->setContentSize(Size(240, 130));
        listView->setPosition(Vec2((widgetSize.width - backgroundSize.width) / 2.0f +
                                    (backgroundSize.width - listView->getContentSize().width) / 2.0f,
                                    (widgetSize.height - backgroundSize.height) / 2.0f +
                                    (backgroundSize.height - listView->getContentSize().height) / 2.0f));
        listView->addEventListener((ui::ListView::ccListViewCallback)CC_CALLBACK_2(UIListViewTest_Horizontal::selectedItemEvent, this));
        listView->setScrollBarPositionFromCorner(Vec2(7, 7));
        _uiLayer->addChild(listView);

        // add custom item
        for (int i = 0; i < count / 4; ++i)
        {
            Button* custom_button = Button::create("cocosui/button.png", "cocosui/buttonHighlighted.png");
            custom_button->setName("Title Button");
            custom_button->setScale9Enabled(true);
            custom_button->setContentSize(default_button->getContentSize());
            
            Layout* custom_item = Layout::create();
            custom_item->setContentSize(custom_button->getContentSize());
            custom_button->setPosition(Vec2(custom_item->getContentSize().width / 2.0f, custom_item->getContentSize().height / 2.0f));
            custom_item->addChild(custom_button);
            
            listView->pushBackCustomItem(custom_item);
        }

 

cocos代码研究(25)Widget子类PageView学习笔记

标签:

原文地址:http://www.cnblogs.com/damowang/p/4865205.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!