void CocosGUIExamplesPageScene::PageInit() { // page root from json UILayout* page_root = dynamic_cast<UILayout*>(GUIReader::shareReader()->widgetFromJsonFile("cocosgui/gui_examples/page_1/page_1.json")); m_pUILayer->addWidget(page_root); // page layout UILayout* page_layout = dynamic_cast<UILayout*>(page_root->getChildByName("page_panel")); // page view add to page layout UIPageView* pageView = UIPageView::create(); pageView->setTouchEnable(true); pageView->setSize(page_layout->getContentSize()); // layout add to page view for (int i = 0; i < 4; ++i) { UILayout* layout = UILayout::create(); layout->setSize(pageView->getContentSize()); UIImageView* imageView = UIImageView::create(); imageView->setTouchEnable(true); imageView->loadTexture(page_image_textures[i]); imageView->setPosition(ccp(layout->getContentSize().width / 2, layout->getContentSize().height / 2)); layout->addChild(imageView); pageView->addPage(layout); } pageView->addPageTurningEvent(this, coco_PageView_PageTurning_selector(CocosGUIExamplesPageScene::pageTurningEvent)); page_layout->addChild(pageView); }
bool UIPageViewTest::init() { if (UIScene::init()) { CCSize screenSize = CCDirector::sharedDirector()->getWinSize(); // Add a label in which the dragpanel events will be displayed 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(screenSize.width / 2.0f, screenSize.height / 2.0f + m_pDisplayValueLabel->getContentSize().height * 1.5)); m_pUiLayer->addWidget(m_pDisplayValueLabel); // Add the black background UILabel *alert = UILabel::create(); alert->setText("PageView"); alert->setFontName("Marker Felt"); alert->setFontSize(30); alert->setColor(ccc3(159, 168, 176)); alert->setPosition(ccp(screenSize.width / 2.0f, screenSize.height / 2.0f - alert->getRect().size.height * 2.925)); m_pUiLayer->addWidget(alert); UIPanel *background = dynamic_cast<UIPanel*>(m_pUiLayer->getWidgetByName("background_Panel")); // Create the page view UIPageView* pageView = UIPageView::create(); pageView->setTouchEnable(true); pageView->setSize(CCSizeMake(240, 130)); CCSize backgroundSize = background->getContentSize(); pageView->setPosition(ccp((screenSize.width - backgroundSize.width) / 2 + (backgroundSize.width - pageView->getRect().size.width) / 2, (screenSize.height - backgroundSize.height) / 2 + (backgroundSize.height - pageView->getRect().size.height) / 2)); for (int i = 0; i < 3; ++i) { UIPanel* panel = UIPanel::create(); panel->setSize(CCSizeMake(240, 130)); UIImageView* imageView = UIImageView::create(); imageView->setTouchEnable(true); imageView->setScale9Enable(true); imageView->setTexture("cocosgui/scrollviewbg.png"); imageView->setScale9Size(CCSizeMake(240, 130)); imageView->setPosition(ccp(panel->getRect().size.width / 2, panel->getRect().size.height / 2)); panel->addChild(imageView); UILabel* label = UILabel::create(); label->setText(CCString::createWithFormat("page %d", (i + 1))->getCString()); label->setFontName("Marker Felt"); label->setFontSize(30); label->setColor(ccc3(192, 192, 192)); label->setPosition(ccp(panel->getRect().size.width / 2, panel->getRect().size.height / 2)); panel->addChild(label); pageView->addPage(panel); } m_pUiLayer->addWidget(pageView); return true; } return false; }