29using namespace cocos2d::ui;
31UIPageViewTests::UIPageViewTests()
46: _displayValueLabel(nullptr)
59 Size widgetSize =
_widget->getContentSize();
62 _displayValueLabel = Text::create(
"Move by horizontal direction",
"fonts/Marker Felt.ttf", 32);
65 widgetSize.height / 2.0f +
70 Text* alert = Text::create(
"PageView",
"fonts/Marker Felt.ttf", 30);
71 alert->setColor(Color3B(159, 168, 176));
72 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
75 Layout* root =
static_cast<Layout*
>(
_uiLayer->getChildByTag(81));
77 Layout* background =
dynamic_cast<Layout*
>(root->getChildByName(
"background_Panel"));
81 PageView* pageView = PageView::create();
82 pageView->setDirection(PageView::Direction::HORIZONTAL);
83 pageView->setContentSize(size);
84 Size backgroundSize = background->getContentSize();
85 pageView->setPosition((widgetSize - pageView->getContentSize()) / 2.0f);
86 pageView->removeAllItems();
87 pageView->setIndicatorEnabled(
true);
88 pageView->setGlobalZOrder(200);
91 for (
int i = 0; i < pageCount; ++i)
93 Layout* layout = Layout::create();
94 layout->setContentSize(size);
96 ImageView* imageView = ImageView::create(
"cocosui/scrollviewbg.png");
97 imageView->setScale9Enabled(
true);
98 imageView->setContentSize(size);
99 imageView->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
100 layout->addChild(imageView);
102 Text* label = Text::create(StringUtils::format(
"page %d",(i+1)),
"fonts/Marker Felt.ttf", 30);
103 label->setColor(Color3B(192, 192, 192));
104 label->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
105 layout->addChild(label);
107 pageView->insertCustomItem(layout, i);
110 pageView->removeItem(0);
111 pageView->scrollToItem(pageCount - 2);
113 cocos2d::log(
"TODO in %s %s %d", __FILE__, __FUNCTION__, __LINE__);
115 pageView->setIndicatorIndexNodesOpacity(255);
128 case PageView::EventType::TURNING:
130 PageView* pageView =
dynamic_cast<PageView*
>(pSender);
132 _displayValueLabel->setString(StringUtils::format(
"page = %ld",
static_cast<long>(pageView->getCurrentPageIndex() + 1)));
144: _displayValueLabel(nullptr)
157 Size widgetSize =
_widget->getContentSize();
160 _displayValueLabel = Text::create(
"Move by horizontal direction",
"fonts/Marker Felt.ttf", 32);
163 widgetSize.height / 2.0f +
168 Text* alert = Text::create(
"PageView with Buttons",
"fonts/Marker Felt.ttf", 30);
169 alert->setColor(Color3B(159, 168, 176));
170 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
173 Layout* root =
static_cast<Layout*
>(
_uiLayer->getChildByTag(81));
175 Layout* background =
dynamic_cast<Layout*
>(root->getChildByName(
"background_Panel"));
178 PageView* pageView = PageView::create();
179 pageView->setContentSize(Size(240.0f, 130.0f));
180 Size backgroundSize = background->getContentSize();
181 pageView->setPosition(Vec2((widgetSize.width - backgroundSize.width) / 2.0f +
182 (backgroundSize.width - pageView->getContentSize().width) / 2.0f,
183 (widgetSize.height - backgroundSize.height) / 2.0f +
184 (backgroundSize.height - pageView->getContentSize().height) / 2.0f));
186 pageView->removeAllItems();
189 for (
int i = 0; i < pageCount; ++i)
191 HBox* outerBox = HBox::create();
192 outerBox->setContentSize(Size(240.0f, 130.0f));
194 for (
int k = 0; k < 2; ++k) {
195 VBox* innerBox = VBox::create();
197 for (
int j = 0; j < 3; j++) {
198 Button *btn = Button::create(
"cocosui/animationbuttonnormal.png",
199 "cocosui/animationbuttonpressed.png");
200 btn->setName(StringUtils::format(
"button %d", j));
203 innerBox->addChild(btn);
206 LinearLayoutParameter *parameter = LinearLayoutParameter::create();
207 parameter->setMargin(Margin(0.0f,0.0f,100.0f,0.0f));
208 innerBox->setLayoutParameter(parameter);
210 outerBox->addChild(innerBox);
214 pageView->insertCustomItem(outerBox, i);
217 pageView->removeItem(0);
230 if(type == Widget::TouchEventType::ENDED) {
231 log(
"button %s clicked",
static_cast<Button*
>(sender)->getName().c_str());
240 case PageView::EventType::TURNING:
242 PageView* pageView =
dynamic_cast<PageView*
>(pSender);
244 _displayValueLabel->setString(StringUtils::format(
"page = %ld",
static_cast<long>(pageView->getCurrentPageIndex() + 1)));
256: _displayValueLabel(nullptr)
269 Size widgetSize =
_widget->getContentSize();
272 _displayValueLabel = Text::create(
"Move by horizontal direction",
"fonts/Marker Felt.ttf", 32);
275 widgetSize.height / 2.0f +
280 Text* alert = Text::create(
"PageView Touch Propagation",
"fonts/Marker Felt.ttf", 30);
281 alert->setColor(Color3B(159, 168, 176));
282 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
285 Layout* root =
static_cast<Layout*
>(
_uiLayer->getChildByTag(81));
287 Layout* background =
dynamic_cast<Layout*
>(root->getChildByName(
"background_Panel"));
290 PageView* pageView = PageView::create();
291 pageView->setContentSize(Size(240.0f, 130.0f));
292 pageView->setAnchorPoint(Vec2(0.5f,0.5f));
293 Size backgroundSize = background->getContentSize();
294 pageView->setPosition(Vec2(widgetSize.width / 2.0f ,widgetSize.height / 2.0f));
295 pageView->setBackGroundColor(Color3B::GREEN);
296 pageView->setBackGroundColorType(Layout::BackGroundColorType::SOLID);
299 for (
int i = 0; i < pageCount; ++i)
301 HBox* outerBox = HBox::create();
302 outerBox->setContentSize(Size(240.0f, 130.0f));
304 for (
int k = 0; k < 2; ++k) {
305 VBox* innerBox = VBox::create();
307 for (
int j = 0; j < 3; j++) {
308 Button *btn = Button::create(
"cocosui/animationbuttonnormal.png",
309 "cocosui/animationbuttonpressed.png");
310 btn->setName(StringUtils::format(
"button %d", j));
313 innerBox->addChild(btn);
316 LinearLayoutParameter *parameter = LinearLayoutParameter::create();
317 parameter->setMargin(Margin(0.0f,0.0f,100.0f,0.0f));
318 innerBox->setLayoutParameter(parameter);
320 outerBox->addChild(innerBox);
324 pageView->insertCustomItem(outerBox, i);
328 pageView->setName(
"pageView");
329 pageView->addTouchEventListener([](Ref* sender, Widget::TouchEventType type){
330 if (type == Widget::TouchEventType::BEGAN)
332 CCLOG(
"page view touch began");
334 else if(type == Widget::TouchEventType::MOVED)
336 CCLOG(
"page view touch moved");
338 else if(type == Widget::TouchEventType::ENDED)
340 CCLOG(
"page view touch ended");
344 CCLOG(
"page view touch cancelled");
349 Text *propagationText = Text::create(
"Allow Propagation",
"Arial", 10);
350 propagationText->setAnchorPoint(Vec2(0.0f,0.5f));
351 propagationText->setTextColor(Color4B::RED);
352 propagationText->setPosition(Vec2(0.0f, pageView->getPosition().y + 50));
353 _uiLayer->addChild(propagationText);
355 Text *swallowTouchText = Text::create(
"Swallow Touches",
"Arial", 10);
356 swallowTouchText->setAnchorPoint(Vec2(0.f,0.5f));
357 swallowTouchText->setTextColor(Color4B::RED);
358 swallowTouchText->setPosition(Vec2(0.0f, pageView->getPosition().y));
359 _uiLayer->addChild(swallowTouchText);
362 CheckBox* checkBox1 = CheckBox::create(
"cocosui/check_box_normal.png",
363 "cocosui/check_box_normal_press.png",
364 "cocosui/check_box_active.png",
365 "cocosui/check_box_normal_disable.png",
366 "cocosui/check_box_active_disable.png");
367 checkBox1->setPosition(propagationText->getPosition() + Vec2(propagationText->getContentSize().width/2, -20.0f));
369 checkBox1->setName(
"propagation");
374 CheckBox* checkBox2 = CheckBox::create(
"cocosui/check_box_normal.png",
375 "cocosui/check_box_normal_press.png",
376 "cocosui/check_box_active.png",
377 "cocosui/check_box_normal_disable.png",
378 "cocosui/check_box_active_disable.png");
379 checkBox2->setPosition(swallowTouchText->getPosition() + Vec2(swallowTouchText->getContentSize().width/2, -20.0f));
381 checkBox2->setName(
"swallow");
385 auto eventListener = EventListenerTouchOneByOne::create();
386 eventListener->onTouchBegan = [](Touch* touch, Event* event) ->
bool{
387 CCLOG(
"layout receives touches");
390 _eventDispatcher->addEventListenerWithSceneGraphPriority(eventListener,
this);
399 Button *btn = (Button*)pSender;
400 CheckBox *ck1 = (CheckBox*)
_uiLayer->getChildByName(
"propagation");
401 CheckBox *ck2 = (CheckBox*)
_uiLayer->getChildByName(
"swallow");
402 auto pageView = (PageView*)
_uiLayer->getChildByName(
"pageView");
404 if (type == Widget::TouchEventType::BEGAN)
406 if (ck1->isSelected())
408 btn->setPropagateTouchEvents(
true);
409 pageView->setPropagateTouchEvents(
true);
413 btn->setPropagateTouchEvents(
false);
414 pageView->setPropagateTouchEvents(
false);
417 if (ck2->isSelected())
419 btn->setSwallowTouches(
true);
420 pageView->setSwallowTouches(
true);
423 btn->setSwallowTouches(
false);
424 pageView->setSwallowTouches(
false);
427 if (type == Widget::TouchEventType::ENDED) {
428 CCLOG(
"button clicked");
437 case PageView::EventType::TURNING:
439 PageView* pageView =
dynamic_cast<PageView*
>(pSender);
441 _displayValueLabel->setString(StringUtils::format(
"page = %ld",
static_cast<long>(pageView->getCurrentPageIndex() + 1)));
452: _displayValueLabel(nullptr)
465 Size widgetSize =
_widget->getContentSize();
468 _displayValueLabel = Text::create(
"Click Buttons on the Left",
"fonts/Marker Felt.ttf", 32);
471 widgetSize.height / 2.0f +
476 Text* alert = Text::create(
"PageView Dynamic Modification",
"fonts/Marker Felt.ttf", 30);
477 alert->setColor(Color3B(159, 168, 176));
478 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
481 Layout* root =
static_cast<Layout*
>(
_uiLayer->getChildByTag(81));
483 Layout* background =
dynamic_cast<Layout*
>(root->getChildByName(
"background_Panel"));
486 PageView* pageView = PageView::create();
487 pageView->setDirection(ui::PageView::Direction::VERTICAL);
488 pageView->setContentSize(Size(240.0f, 130.0f));
489 pageView->setAnchorPoint(Vec2(0.5f,0.5f));
490 Size backgroundSize = background->getContentSize();
491 pageView->setPosition(Vec2(widgetSize.width / 2.0f ,widgetSize.height / 2.0f));
492 pageView->setBackGroundColor(Color3B::GREEN);
493 pageView->setBackGroundColorType(Layout::BackGroundColorType::SOLID);
494 pageView->setIndicatorEnabled(
true);
495 pageView->setIndicatorSpaceBetweenIndexNodes(10);
498 for (
int i = 0; i < pageCount; ++i)
500 HBox* outerBox = HBox::create();
501 outerBox->setContentSize(Size(240.0f, 130.0f));
503 for (
int k = 0; k < 2; ++k)
505 VBox* innerBox = VBox::create();
507 for (
int j = 0; j < 3; j++)
509 Button *btn = Button::create(
"cocosui/animationbuttonnormal.png",
510 "cocosui/animationbuttonpressed.png");
511 btn->setName(StringUtils::format(
"button %d", j));
513 innerBox->addChild(btn);
516 LinearLayoutParameter *parameter = LinearLayoutParameter::create();
517 parameter->setMargin(Margin(0.0f,0.0f,100.0f,0.0f));
518 innerBox->setLayoutParameter(parameter);
520 outerBox->addChild(innerBox);
524 pageView->insertCustomItem(outerBox, i);
528 pageView->setName(
"pageView");
532 auto button = Button::create();
533 button->setPositionNormalized(Vec2(0.12f,0.7f));
534 button->setTitleText(
"Add A Page");
535 button->setZoomScale(0.3f);
536 button->setPressedActionEnabled(
true);
537 button->setTitleColor(Color3B::RED);
538 button->addClickEventListener([=](Ref* sender)
540 HBox* outerBox = HBox::create();
541 outerBox->setContentSize(Size(240.0f, 130.0f));
543 for (
int k = 0; k < 2; ++k)
545 VBox* innerBox = VBox::create();
546 for (
int j = 0; j < 3; j++)
548 Button *btn = Button::create(
"cocosui/animationbuttonnormal.png",
549 "cocosui/animationbuttonpressed.png");
550 btn->setName(StringUtils::format(
"button %d", j));
551 innerBox->addChild(btn);
554 LinearLayoutParameter *parameter = LinearLayoutParameter::create();
555 parameter->setMargin(Margin(0.0f,0.0f,100.0f,0.0f));
556 innerBox->setLayoutParameter(parameter);
557 outerBox->addChild(innerBox);
560 pageView->pushBackCustomItem(outerBox);
561 _displayValueLabel->setString(StringUtils::format(
"page count = %ld",
static_cast<long>(pageView->getItems().size())));
562 CCLOG(
"current page index = %zd", pageView->getCurrentPageIndex());
566 auto button2 = Button::create();
567 button2->setPositionNormalized(Vec2(0.12f,0.5f));
568 button2->setTitleText(
"Remove A Page");
569 button2->setZoomScale(0.3f);
570 button2->setPressedActionEnabled(
true);
571 button2->setTitleColor(Color3B::RED);
572 button2->addClickEventListener([=](Ref* sender)
574 if (pageView->getItems().size() > 0)
576 pageView->removeItem(pageView->getItems().size()-1);
580 CCLOG(
"There is no page to remove!");
582 _displayValueLabel->setString(StringUtils::format(
"page count = %ld",
static_cast<long>(pageView->getItems().size())));
583 CCLOG(
"current page index = %zd", pageView->getCurrentPageIndex());
588 auto button3 = Button::create();
589 button3->setPositionNormalized(Vec2(0.12f,0.3f));
590 button3->setTitleText(
"Remove All Pages");
591 button3->setZoomScale(0.3f);
592 button3->setPressedActionEnabled(
true);
593 button3->setTitleColor(Color3B::RED);
594 button3->addClickEventListener([=](Ref* sender)
596 pageView->removeAllItems();
597 _displayValueLabel->setString(StringUtils::format(
"page count = %ld",
static_cast<long>(pageView->getItems().size())));
598 CCLOG(
"current page index = %zd", pageView->getCurrentPageIndex());
603 auto button4 = (ui::Button*)button3->clone();
604 button4->setTitleText(
"Scroll to Page4");
605 button4->setPositionNormalized(Vec2(0.85f, 0.5f));
606 button4->addClickEventListener([=](Ref* sender){
607 pageView->scrollToItem(3);
608 CCLOG(
"current page index = %zd", pageView->getCurrentPageIndex());
622 case PageView::EventType::TURNING:
624 PageView* pageView =
dynamic_cast<PageView*
>(pSender);
626 _displayValueLabel->setString(StringUtils::format(
"page = %ld",
static_cast<long>((pageView->getCurrentPageIndex() + 1))));
638: _displayValueLabel(nullptr)
651 Size widgetSize =
_widget->getContentSize();
654 _displayValueLabel = Text::create(
"setCurrentPageIndex API Test",
"fonts/Marker Felt.ttf", 32);
657 widgetSize.height / 2.0f +
662 Text* alert = Text::create(
"PageView",
"fonts/Marker Felt.ttf", 30);
663 alert->setColor(Color3B(159, 168, 176));
664 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
667 Layout* root =
static_cast<Layout*
>(
_uiLayer->getChildByTag(81));
669 Layout* background =
dynamic_cast<Layout*
>(root->getChildByName(
"background_Panel"));
672 PageView* pageView = PageView::create();
673 pageView->setContentSize(Size(240.0f, 130.0f));
674 Size backgroundSize = background->getContentSize();
675 pageView->setPosition(Vec2((widgetSize.width - backgroundSize.width) / 2.0f +
676 (backgroundSize.width - pageView->getContentSize().width) / 2.0f,
677 (widgetSize.height - backgroundSize.height) / 2.0f +
678 (backgroundSize.height - pageView->getContentSize().height) / 2.0f));
679 pageView->setIndicatorEnabled(
true);
680 pageView->removeAllItems();
683 for (
int i = 0; i < pageCount; ++i)
685 Layout* layout = Layout::create();
686 layout->setContentSize(Size(240.0f, 130.0f));
688 ImageView* imageView = ImageView::create(
"cocosui/scrollviewbg.png");
689 imageView->setScale9Enabled(
true);
690 imageView->setContentSize(Size(240.0f, 130.0f));
691 imageView->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
692 layout->addChild(imageView);
694 Text* label = Text::create(StringUtils::format(
"page %d",(i+1)),
"fonts/Marker Felt.ttf", 30);
695 label->setColor(Color3B(192, 192, 192));
696 label->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
697 layout->addChild(label);
699 pageView->insertCustomItem(layout, i);
702 pageView->setCurrentPageIndex(1);
705 auto button1 = ui::Button::create();
706 button1->setPositionNormalized(Vec2(0.1f, 0.75f));
707 button1->setTitleText(
"Jump to Page1");
708 CCLOG(
"button1 content Size = %f, %f", button1->getContentSize().width,
709 button1->getContentSize().height);
710 button1->addClickEventListener([=](Ref*){
711 pageView->setCurrentPageIndex(0);
715 auto button2 =
static_cast<ui::Button*
>(button1->clone());
716 button2->setTitleText(
"Jump to Page2");
717 button2->setPositionNormalized(Vec2(0.1f, 0.65f));
718 CCLOG(
"button2 content Size = %f, %f", button2->getContentSize().width,
719 button2->getContentSize().height);
720 button2->addClickEventListener([=](Ref*){
721 pageView->setCurrentPageIndex(1);
725 auto button3 =
static_cast<ui::Button*
>(button2->clone());
726 button3->setTitleText(
"Jump to Page3");
727 button3->setPositionNormalized(Vec2(0.9f, 0.75f));
728 button3->addClickEventListener([=](Ref*){
729 pageView->setCurrentPageIndex(2);
733 auto button4 =
static_cast<ui::Button*
>(button2->clone());
734 button4->setTitleText(
"Jump to Page4");
735 button4->setPositionNormalized(Vec2(0.9f, 0.65f));
736 button4->addClickEventListener([=](Ref*){
737 pageView->setCurrentPageIndex(3);
749: _displayValueLabel(nullptr)
762 Size widgetSize =
_widget->getContentSize();
765 _displayValueLabel = Text::create(
"Move by Vertical direction",
"fonts/Marker Felt.ttf", 32);
768 widgetSize.height / 2.0f +
773 Text* alert = Text::create(
"PageView",
"fonts/Marker Felt.ttf", 30);
774 alert->setColor(Color3B(159, 168, 176));
775 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
778 Layout* root =
static_cast<Layout*
>(
_uiLayer->getChildByTag(81));
780 Layout* background =
dynamic_cast<Layout*
>(root->getChildByName(
"background_Panel"));
783 PageView* pageView = PageView::create();
784 pageView->setIndicatorEnabled(
true);
785 pageView->setDirection(ui::PageView::Direction::VERTICAL);
786 pageView->setContentSize(Size(240.0f, 130.0f));
787 Size backgroundSize = background->getContentSize();
788 pageView->setPosition((widgetSize - pageView->getContentSize()) / 2.0f);
789 pageView->removeAllItems();
792 for (
int i = 0; i < pageCount; ++i)
794 Layout* layout = Layout::create();
795 layout->setContentSize(Size(240.0f, 130.0f));
797 ImageView* imageView = ImageView::create(
"cocosui/scrollviewbg.png");
798 imageView->setScale9Enabled(
true);
799 imageView->setContentSize(Size(240.0f, 130.0f));
800 imageView->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
801 layout->addChild(imageView);
803 Text* label = Text::create(StringUtils::format(
"page %d",(i+1)),
"fonts/Marker Felt.ttf", 30);
804 label->setColor(Color3B(192, 192, 192));
805 label->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
806 layout->addChild(label);
808 pageView->insertCustomItem(layout, i);
824 case PageView::EventType::TURNING:
826 PageView* pageView =
dynamic_cast<PageView*
>(pSender);
828 _displayValueLabel->setString(StringUtils::format(
"page = %ld",
static_cast<long>(pageView->getCurrentPageIndex() + 1)));
839: _displayValueLabel(nullptr)
852 Size widgetSize =
_widget->getContentSize();
855 _displayValueLabel = Text::create(
"PageView disable touch",
"fonts/Marker Felt.ttf", 32);
858 widgetSize.height / 2.0f +
863 Text* alert = Text::create(
"PageView",
"fonts/Marker Felt.ttf", 30);
864 alert->setColor(Color3B(159, 168, 176));
865 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
868 Layout* root =
static_cast<Layout*
>(
_uiLayer->getChildByTag(81));
870 Layout* background =
dynamic_cast<Layout*
>(root->getChildByName(
"background_Panel"));
873 PageView* pageView = PageView::create();
874 pageView->setContentSize(Size(240.0f, 130.0f));
875 Size backgroundSize = background->getContentSize();
876 pageView->setPosition(Vec2((widgetSize.width - backgroundSize.width) / 2.0f +
877 (backgroundSize.width - pageView->getContentSize().width) / 2.0f,
878 (widgetSize.height - backgroundSize.height) / 2.0f +
879 (backgroundSize.height - pageView->getContentSize().height) / 2.0f));
880 pageView->setDirection(ui::PageView::Direction::VERTICAL);
881 pageView->setTouchEnabled(
false);
882 pageView->removeAllItems();
885 for (
int i = 0; i < pageCount; ++i)
887 Layout* layout = Layout::create();
888 layout->setContentSize(Size(240.0f, 130.0f));
890 ImageView* imageView = ImageView::create(
"cocosui/scrollviewbg.png");
891 imageView->setScale9Enabled(
true);
892 imageView->setContentSize(Size(240.0f, 130.0f));
893 imageView->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
894 layout->addChild(imageView);
896 Text* label = Text::create(StringUtils::format(
"page %d",(i+1)),
"fonts/Marker Felt.ttf", 30);
897 label->setColor(Color3B(192, 192, 192));
898 label->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
899 layout->addChild(label);
901 pageView->insertCustomItem(layout, i);
913 : _displayValueLabel(nullptr)
926 Size widgetSize =
_widget->getContentSize();
929 _displayValueLabel = Text::create(
"Move by horizontal direction",
"fonts/Marker Felt.ttf", 32);
932 widgetSize.height / 2.0f +
937 Text* alert = Text::create(
"PageView",
"fonts/Marker Felt.ttf", 30);
938 alert->setColor(Color3B(159, 168, 176));
939 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
942 Layout* root =
static_cast<Layout*
>(
_uiLayer->getChildByTag(81));
944 Layout* background =
dynamic_cast<Layout*
>(root->getChildByName(
"background_Panel"));
948 PageView* pageView = PageView::create();
949 pageView->setDirection(PageView::Direction::HORIZONTAL);
950 pageView->setContentSize(size);
951 Size backgroundSize = background->getContentSize();
952 pageView->setPosition((widgetSize - pageView->getContentSize()) / 2.0f);
953 pageView->removeAllItems();
954 pageView->setIndicatorEnabled(
true);
957 for (
int i = 0; i < pageCount; ++i)
959 ImageView* imageView = ImageView::create(
"cocosui/scrollviewbg.png");
960 imageView->setScale9Enabled(
true);
962 Text* label = Text::create(StringUtils::format(
"page %d", (i + 1)),
"fonts/Marker Felt.ttf", 30);
963 label->setColor(Color3B(192, 192, 192));
964 label->setAnchorPoint(Vec2::ZERO);
965 imageView->addChild(label);
967 pageView->insertCustomItem(imageView, i);
983 case PageView::EventType::TURNING:
985 PageView* pageView =
dynamic_cast<PageView*
>(pSender);
987 _displayValueLabel->setString(StringUtils::format(
"page = %ld",
static_cast<long>(pageView->getCurrentPageIndex() + 1)));
998: _displayValueLabel(nullptr)
1011 Size widgetSize =
_widget->getContentSize();
1014 _displayValueLabel = Text::create(
"PageView indicator custom texture\nscale : 0.5, index color: RED",
"fonts/Marker Felt.ttf", 16);
1017 widgetSize.height / 2.0f +
1022 Text* alert = Text::create(
"PageView",
"fonts/Marker Felt.ttf", 30);
1023 alert->setColor(Color3B(159, 168, 176));
1024 alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
1027 Layout* root =
static_cast<Layout*
>(
_uiLayer->getChildByTag(81));
1029 Layout* background =
dynamic_cast<Layout*
>(root->getChildByName(
"background_Panel"));
1032 PageView* pageView = PageView::create();
1033 pageView->setContentSize(Size(240.0f, 130.0f));
1034 Size backgroundSize = background->getContentSize();
1035 pageView->setPosition(Vec2((widgetSize.width - backgroundSize.width) / 2.0f +
1036 (backgroundSize.width - pageView->getContentSize().width) / 2.0f,
1037 (widgetSize.height - backgroundSize.height) / 2.0f +
1038 (backgroundSize.height - pageView->getContentSize().height) / 2.0f));
1039 pageView->setDirection(ui::PageView::Direction::VERTICAL);
1040 pageView->removeAllItems();
1042 pageView->setIndicatorEnabled(
true);
1043 pageView->setIndicatorSpaceBetweenIndexNodes(5);
1044 pageView->setIndicatorIndexNodesScale(0.5);
1045 pageView->setIndicatorIndexNodesTexture(
"cocosui/green_edit.png");
1046 pageView->setIndicatorIndexNodesColor(Color3B::RED);
1049 for (
int i = 0; i < pageCount; ++i)
1051 Layout* layout = Layout::create();
1052 layout->setContentSize(Size(240.0f, 130.0f));
1054 ImageView* imageView = ImageView::create(
"cocosui/scrollviewbg.png");
1055 imageView->setScale9Enabled(
true);
1056 imageView->setContentSize(Size(240.0f, 130.0f));
1057 imageView->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
1058 layout->addChild(imageView);
1060 Text* label = Text::create(StringUtils::format(
"page %d",(i+1)),
"fonts/Marker Felt.ttf", 30);
1061 label->setColor(Color3B(192, 192, 192));
1062 label->setPosition(Vec2(layout->getContentSize().width / 2.0f, layout->getContentSize().height / 2.0f));
1063 layout->addChild(label);
1065 pageView->insertCustomItem(layout, i);
#define ADD_TEST_CASE(__className__)
virtual bool init() override
cocos2d::ui::Text * _displayValueLabel
void pageViewEvent(cocos2d::Ref *sender, cocos2d::ui::PageView::EventType type)
void onButtonClicked(cocos2d::Ref *sender, cocos2d::ui::Widget::TouchEventType type)
void pageViewEvent(cocos2d::Ref *sender, cocos2d::ui::PageView::EventType type)
virtual bool init() override
~UIPageViewChildSizeTest()
UIPageViewChildSizeTest()
cocos2d::ui::Text * _displayValueLabel
cocos2d::ui::Text * _displayValueLabel
virtual bool init() override
UIPageViewDisableTouchTest()
~UIPageViewDisableTouchTest()
UIPageViewDynamicAddAndRemoveTest()
~UIPageViewDynamicAddAndRemoveTest()
void pageViewEvent(cocos2d::Ref *sender, cocos2d::ui::PageView::EventType type)
cocos2d::ui::Text * _displayValueLabel
virtual bool init() override
cocos2d::ui::Text * _displayValueLabel
~UIPageViewIndicatorTest()
UIPageViewIndicatorTest()
virtual bool init() override
~UIPageViewJumpToPageTest()
virtual bool init() override
cocos2d::ui::Text * _displayValueLabel
UIPageViewJumpToPageTest()
cocos2d::ui::Text * _displayValueLabel
virtual bool init() override
void pageViewEvent(cocos2d::Ref *sender, cocos2d::ui::PageView::EventType type)
~UIPageViewTouchPropagationTest()
void onButtonClicked(cocos2d::Ref *sender, cocos2d::ui::Widget::TouchEventType type)
virtual bool init() override
void pageViewEvent(cocos2d::Ref *sender, cocos2d::ui::PageView::EventType type)
cocos2d::ui::Text * _displayValueLabel
UIPageViewTouchPropagationTest()
virtual bool init() override
~UIPageViewVerticalTest()
void pageViewEvent(cocos2d::Ref *sender, cocos2d::ui::PageView::EventType type)
cocos2d::ui::Text * _displayValueLabel
cocos2d::Layer * _uiLayer
virtual bool init() override
cocos2d::ui::Layout * _widget