bool TodayScene::init() { if (CCLayer::init()) { _uiLayer = Layer::create(); addChild(_uiLayer); _widget = dynamic_cast<Layout*>(cocostudio::GUIReader::getInstance()->widgetFromJsonFile("Scenes/TodayScene.ExportJson")); _uiLayer->addChild(_widget); Size screenSize = CCDirector::getInstance()->getWinSize(); Size rootSize = _widget->getSize(); _uiLayer->setPosition(Point((screenSize.width - rootSize.width) / 2, (screenSize.height - rootSize.height) / 2)); Text* score = static_cast<Text*>(_widget->getChildByTag(kScore)); xMissionPool->getMission(); score->setText(itostr(xMissionPool->getScore())); //列表 listView = static_cast<ListView*>(_widget->getChildByTag(kList)); listView->setDirection(SCROLLVIEW_DIR_VERTICAL); //如果List设置好了, 应该可以不要这句 listView->setGravity(LISTVIEW_GRAVITY_CENTER_VERTICAL); //如果List设置好了, 应该可以不要这句 listView->addEventListenerListView(this, listvieweventselector(TodayScene::selectedItemEvent)); Layout* default_item = dynamic_cast<Layout*>(cocostudio::GUIReader::getInstance()->widgetFromJsonFile("Scenes/ListCell.ExportJson")); //default_item->setBackGroundColorType(LAYOUT_COLOR_SOLID); // set model listView->setItemModel(default_item); CCLOG("%lu", xMissionPool->_vMissions.size()); updateList(NULL); CCNotificationCenter::getInstance()->addObserver(this, callfuncO_selector(TodayScene::updateList), REMIND_MSG, NULL); CCNotificationCenter::getInstance()->addObserver(this, callfuncO_selector(TodayScene::updateList), EXPIRE_MSG, NULL); return true; } return false; }
bool UIListViewExTest_Horizontal::init() { if (UIScene::init()) { CCSize widgetSize = m_pWidget->getSize(); m_pDisplayValueLabel = UILabel::create(); m_pDisplayValueLabel->setText("Move by horizontal direction"); m_pDisplayValueLabel->setFontName("Marker Felt"); m_pDisplayValueLabel->setFontSize(32); m_pDisplayValueLabel->setAnchorPoint(ccp(0.5f, -1)); m_pDisplayValueLabel->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f + m_pDisplayValueLabel->getContentSize().height * 1.5)); m_pUiLayer->addWidget(m_pDisplayValueLabel); UILabel* alert = UILabel::create(); alert->setText("ListView horizontal"); alert->setFontName("Marker Felt"); alert->setFontSize(30); alert->setColor(ccc3(159, 168, 176)); alert->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 3.075)); m_pUiLayer->addWidget(alert); Layout* background = dynamic_cast<Layout*>(m_pUiLayer->getWidgetByName("background_Panel")); CCSize backgroundSize = background->getContentSize(); // create list view data m_array = CCArray::create(); CC_SAFE_RETAIN(m_array); for (int i = 0; i < 20; ++i) { CCString* ccstr = CCString::createWithFormat("listview_item_%d", i); m_array->addObject(ccstr); } // Create the list view UIListView* listView = UIListView::create(); // set list view direction listView->setDirection(SCROLLVIEW_DIR_HORIZONTAL); listView->setTouchEnabled(true); listView->setBounceEnabled(true); listView->setBackGroundImage("cocosgui/green_edit.png"); listView->setBackGroundImageScale9Enabled(true); listView->setSize(CCSizeMake(240, 130)); listView->setPosition(ccp((widgetSize.width - backgroundSize.width) / 2 + (backgroundSize.width - listView->getSize().width) / 2, (widgetSize.height - backgroundSize.height) / 2 + (backgroundSize.height - listView->getSize().height) / 2)); listView->addEventListenerListView(this, listvieweventselector(UIListViewExTest_Horizontal::selectedItemEvent)); m_pUiLayer->addWidget(listView); // create model UIButton* default_button = UIButton::create(); default_button->setName("TextButton"); default_button->setTouchEnabled(true); default_button->loadTextures("cocosgui/backtotoppressed.png", "cocosgui/backtotopnormal.png", ""); Layout* default_item = Layout::create(); default_item->setTouchEnabled(true); default_item->setSize(default_button->getSize()); default_button->setPosition(ccp(default_item->getSize().width / 2, default_item->getSize().height / 2)); default_item->addChild(default_button); // set model listView->setItemModel(default_item); // add default item int count = m_array->count(); for (int i = 0; i < count / 4; ++i) { listView->pushBackDefaultItem(); } // insert default item for (int i = 0; i < count / 4; ++i) { listView->insertDefaultItem(0); } // add custom item for (int i = 0; i < count / 4; ++i) { UIButton* custom_button = UIButton::create(); custom_button->setName("TextButton"); custom_button->setTouchEnabled(true); custom_button->loadTextures("cocosgui/button.png", "cocosgui/buttonHighlighted.png", ""); custom_button->setScale9Enabled(true); custom_button->setSize(default_button->getSize()); Layout *custom_item = Layout::create(); custom_item->setSize(custom_button->getSize()); custom_button->setPosition(ccp(custom_item->getSize().width / 2, custom_item->getSize().height / 2)); custom_item->addChild(custom_button); listView->pushBackCustomItem(custom_item); } // insert custom item CCArray *items = listView->getItems(); int items_count = items->count(); for (int i = 0; i < count / 4; ++i) { UIButton* custom_button = UIButton::create(); custom_button->setName("TextButton"); custom_button->setTouchEnabled(true); custom_button->loadTextures("cocosgui/button.png", "cocosgui/buttonHighlighted.png", ""); custom_button->setScale9Enabled(true); custom_button->setSize(default_button->getSize()); Layout *custom_item = Layout::create(); custom_item->setSize(custom_button->getSize()); custom_button->setPosition(ccp(custom_item->getSize().width / 2, custom_item->getSize().height / 2)); custom_item->addChild(custom_button); listView->insertCustomItem(custom_item, items_count); } // set item data items_count = items->count(); for (int i = 0; i < items_count; ++i) { UIWidget *item = listView->getItem(i); UIButton *button = static_cast<UIButton*>(item->getChildByName("TextButton")); int index = listView->getIndex(item); button->setTitleText(static_cast<CCString*>(m_array->objectAtIndex(index))->getCString()); } // remove last item listView->removeLastItem(); // remove item by index items_count = items->count(); listView->removeItem(items_count - 1); // set all items layout gravity listView->setGravity(LISTVIEW_GRAVITY_CENTER_VERTICAL); // set items margin listView->setItemsMargin(2); return true; } return false; }
bool UIListViewTest_Vertical::init() { if (UIScene::init()) { Size widgetSize = _widget->getSize(); _displayValueLabel = Text::create("Move by vertical direction", "fonts/Marker Felt.ttf", 32); _displayValueLabel->setAnchorPoint(Point(0.5f, -1.0f)); _displayValueLabel->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f + _displayValueLabel->getContentSize().height * 1.5f)); _uiLayer->addChild(_displayValueLabel); Text* alert = Text::create("ListView vertical", "fonts/Marker Felt.ttf", 30); alert->setColor(Color3B(159, 168, 176)); alert->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 3.075f)); _uiLayer->addChild(alert); Layout* root = static_cast<Layout*>(_uiLayer->getChildByTag(81)); Layout* background = dynamic_cast<Layout*>(root->getChildByName("background_Panel")); Size backgroundSize = background->getContentSize(); // create list view ex data _array = Array::create(); CC_SAFE_RETAIN(_array); for (int i = 0; i < 20; ++i) { __String* ccstr = __String::createWithFormat("listview_item_%d", i); _array->addObject(ccstr); } // Create the list view ex ListView* listView = ListView::create(); // set list view ex direction listView->setDirection(SCROLLVIEW_DIR_VERTICAL); listView->setTouchEnabled(true); listView->setBounceEnabled(true); listView->setBackGroundImage("cocosui/green_edit.png"); listView->setBackGroundImageScale9Enabled(true); listView->setSize(Size(240, 130)); listView->setPosition(Point((widgetSize.width - backgroundSize.width) / 2.0f + (backgroundSize.width - listView->getSize().width) / 2.0f, (widgetSize.height - backgroundSize.height) / 2.0f + (backgroundSize.height - listView->getSize().height) / 2.0f)); listView->addEventListenerListView(this, listvieweventselector(UIListViewTest_Vertical::selectedItemEvent)); _uiLayer->addChild(listView); // create model Button* default_button = Button::create("cocosui/backtotoppressed.png", "cocosui/backtotopnormal.png"); default_button->setName("Title Button"); Layout* default_item = Layout::create(); default_item->setTouchEnabled(true); default_item->setSize(default_button->getSize()); default_button->setPosition(Point(default_item->getSize().width / 2.0f, default_item->getSize().height / 2.0f)); default_item->addChild(default_button); // set model listView->setItemModel(default_item); // add default item ssize_t count = _array->count(); for (int i = 0; i < count / 4; ++i) { listView->pushBackDefaultItem(); } // insert default item for (int i = 0; i < count / 4; ++i) { listView->insertDefaultItem(0); } // 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->setSize(default_button->getSize()); Layout *custom_item = Layout::create(); custom_item->setSize(custom_button->getSize()); custom_button->setPosition(Point(custom_item->getSize().width / 2.0f, custom_item->getSize().height / 2.0f)); custom_item->addChild(custom_button); listView->pushBackCustomItem(custom_item); } // insert custom item Vector<Widget*>& items = listView->getItems(); ssize_t items_count = items.size(); 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->setSize(default_button->getSize()); Layout *custom_item = Layout::create(); custom_item->setSize(custom_button->getSize()); custom_button->setPosition(Point(custom_item->getSize().width / 2.0f, custom_item->getSize().height / 2.0f)); custom_item->addChild(custom_button); listView->insertCustomItem(custom_item, items_count); } // set item data items_count = items.size(); for (int i = 0; i < items_count; ++i) { Widget* item = listView->getItem(i); Button* button = static_cast<Button*>(item->getChildByName("Title Button")); ssize_t index = listView->getIndex(item); button->setTitleText(static_cast<__String*>(_array->getObjectAtIndex(index))->getCString()); } // remove last item listView->removeLastItem(); // remove item by index items_count = items.size(); listView->removeItem(items_count - 1); // set all items layout gravity listView->setGravity(LISTVIEW_GRAVITY_CENTER_VERTICAL); // set items margin listView->setItemsMargin(2.0f); return true; } return false; }
bool LoginLayer::init() { if ( !BaseLayer::init() ) return false; setTouchEnabled(true); CCSize visibleSize = CCDirector::sharedDirector()->getWinSize(); addContentWithJsonFile("UI4Login.ExportJson"); _msg = static_cast<Label*>(getWidgetByName("Label_msg")); _list = static_cast<ListView*>(getWidgetByName("ListView_list")); CCSize size = CCSize(450, 85); _account = CCEditBox::create(size,CCScale9Sprite::createWithSpriteFrameName("input_login.png")); _password = CCEditBox::create(size,CCScale9Sprite::createWithSpriteFrameName("input_login.png")); _account->setPosition(ccp(visibleSize.width/2,visibleSize.height/2 + 68)); _password->setPosition(ccp(_account->getPositionX(),_account->getPositionY()-105)); ccColor3B color = {147,140,115}; _account->setFont("TrebuchetMS-Bold",30); _account->setFontColor(color); _account->setPlaceholderFontColor(color); _account->setPlaceHolder("联众账号"); _account->setMaxLength(19); _account->setSelected(true); _account->setReturnType(kKeyboardReturnTypeDone); _password->setFont("TrebuchetMS-Bold",30); _password->setFontColor(color); _password->setPlaceholderFontColor(color); _password->setPlaceHolder("密码"); _password->setMaxLength(15); _password->setInputFlag(kEditBoxInputFlagPassword); _password->setInputMode(kEditBoxInputModeSingleLine); _password->setZOrder(-1); _uilayer->addChild(_account); _uilayer->addChild(_password); _up = Button::create(); _down = Button::create(); _up->loadTextures("button_up.png", "", "",UI_TEX_TYPE_PLIST); _down->loadTextures("button_down.png", "", "",UI_TEX_TYPE_PLIST); CCPoint point = ccp(_account->getContentSize().width - 40, _account->getContentSize().height/2); _up->setPosition(point); _down->setPosition(point); UILayer* layer = UILayer::create(); layer->addWidget(_down); layer->addWidget(_up); _account->addChild(layer); _list->setAnchorPoint(ccp(0, 1)); _list->setItemModel(GUIReader::shareReader()->widgetFromJsonFile("UI4ItemAccount.ExportJson")); _list->addEventListenerListView(this, listvieweventselector(LoginLayer::onListViewEvent)); bindTouchEvent("btn_login", this, toucheventselector(LoginLayer::onClickedLogin)); bindTouchEvent("btn_register", this, toucheventselector(LoginLayer::onClickedRegister)); _up->addTouchEventListener(this, toucheventselector(LoginLayer::onClickedUp)); _down->addTouchEventListener(this, toucheventselector(LoginLayer::onClickedDown)); setAccountAndPwd(); UserAccountService userAccountService; userAccountService.createTable(); toggleAccouts(false); return true; }