mirror of https://github.com/axmolengine/axmol.git
add UIPageView button tests
This commit is contained in:
parent
037a7dc882
commit
6f33e4b84f
|
@ -183,7 +183,7 @@ g_guisTests[] =
|
|||
UISceneManager* sceneManager = UISceneManager::sharedUISceneManager();
|
||||
sceneManager->setCurrentUISceneId(kUIPageViewTest);
|
||||
sceneManager->setMinUISceneId(kUIPageViewTest);
|
||||
sceneManager->setMaxUISceneId(kUIPageViewTest);
|
||||
sceneManager->setMaxUISceneId(kUIPageViewButtonTest);
|
||||
Scene* scene = sceneManager->currentUIScene();
|
||||
Director::getInstance()->replaceScene(scene);
|
||||
}
|
||||
|
|
|
@ -97,3 +97,103 @@ void UIPageViewTest::pageViewEvent(Ref *pSender, PageView::EventType type)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// UIPageViewButtonTest
|
||||
UIPageViewButtonTest::UIPageViewButtonTest()
|
||||
: _displayValueLabel(nullptr)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
UIPageViewButtonTest::~UIPageViewButtonTest()
|
||||
{
|
||||
}
|
||||
|
||||
bool UIPageViewButtonTest::init()
|
||||
{
|
||||
if (UIScene::init())
|
||||
{
|
||||
Size widgetSize = _widget->getContentSize();
|
||||
|
||||
// Add a label in which the dragpanel events will be displayed
|
||||
_displayValueLabel = Text::create("Move by horizontal direction", "fonts/Marker Felt.ttf", 32);
|
||||
_displayValueLabel->setAnchorPoint(Vec2(0.5f, -1.0f));
|
||||
_displayValueLabel->setPosition(Vec2(widgetSize.width / 2.0f,
|
||||
widgetSize.height / 2.0f +
|
||||
_displayValueLabel->getContentSize().height * 1.5));
|
||||
_uiLayer->addChild(_displayValueLabel);
|
||||
|
||||
// Add the black background
|
||||
Text* alert = Text::create("PageView with Buttons", "fonts/Marker Felt.ttf", 30);
|
||||
alert->setColor(Color3B(159, 168, 176));
|
||||
alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getContentSize().height * 3.075f));
|
||||
_uiLayer->addChild(alert);
|
||||
|
||||
Layout* root = static_cast<Layout*>(_uiLayer->getChildByTag(81));
|
||||
|
||||
Layout* background = dynamic_cast<Layout*>(root->getChildByName("background_Panel"));
|
||||
|
||||
// Create the page view
|
||||
PageView* pageView = PageView::create();
|
||||
pageView->setContentSize(Size(240.0f, 130.0f));
|
||||
Size backgroundSize = background->getContentSize();
|
||||
pageView->setPosition(Vec2((widgetSize.width - backgroundSize.width) / 2.0f +
|
||||
(backgroundSize.width - pageView->getContentSize().width) / 2.0f,
|
||||
(widgetSize.height - backgroundSize.height) / 2.0f +
|
||||
(backgroundSize.height - pageView->getContentSize().height) / 2.0f));
|
||||
|
||||
pageView->removeAllPages();
|
||||
|
||||
int pageCount = 4;
|
||||
for (int i = 0; i < pageCount; ++i)
|
||||
{
|
||||
VBox* layout = VBox::create();
|
||||
layout->setContentSize(Size(240.0f, 130.0f));
|
||||
|
||||
for (int j = 0; j < 3; j++) {
|
||||
Button *btn = Button::create("cocosui/animationbuttonnormal.png",
|
||||
"cocosui/animationbuttonpressed.png");
|
||||
btn->setName(StringUtils::format("button %d", j));
|
||||
btn->addTouchEventListener( CC_CALLBACK_2(UIPageViewButtonTest::onButtonClicked, this));
|
||||
|
||||
layout->addChild(btn);
|
||||
}
|
||||
|
||||
pageView->insertPage(layout,i);
|
||||
}
|
||||
|
||||
pageView->removePageAtIndex(0);
|
||||
|
||||
pageView->addEventListener(CC_CALLBACK_2(UIPageViewButtonTest::pageViewEvent, this));
|
||||
|
||||
_uiLayer->addChild(pageView);
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void UIPageViewButtonTest::onButtonClicked(Ref* pSender, Widget::TouchEventType type)
|
||||
{
|
||||
Button *btn = (Button*)pSender;
|
||||
CCLOG("button %s clicked", btn->getName().c_str());
|
||||
}
|
||||
|
||||
|
||||
void UIPageViewButtonTest::pageViewEvent(Ref *pSender, PageView::EventType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case PageView::EventType::TURNING:
|
||||
{
|
||||
PageView* pageView = dynamic_cast<PageView*>(pSender);
|
||||
|
||||
_displayValueLabel->setString(CCString::createWithFormat("page = %ld", pageView->getCurPageIndex() + 1)->getCString());
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,4 +41,18 @@ protected:
|
|||
Text* _displayValueLabel;
|
||||
};
|
||||
|
||||
class UIPageViewButtonTest : public UIScene
|
||||
{
|
||||
public:
|
||||
UIPageViewButtonTest();
|
||||
~UIPageViewButtonTest();
|
||||
bool init();
|
||||
|
||||
void pageViewEvent(Ref* pSender, PageView::EventType type);
|
||||
void onButtonClicked(Ref* pSender, Widget::TouchEventType type);
|
||||
protected:
|
||||
UI_SCENE_CREATE_FUNC(UIPageViewButtonTest)
|
||||
Text* _displayValueLabel;
|
||||
};
|
||||
|
||||
#endif /* defined(__TestCpp__UIPageViewTest__) */
|
||||
|
|
|
@ -100,7 +100,8 @@ static const char* s_testArray[] =
|
|||
"UIScrollViewTest_Both",
|
||||
"UIScrollViewTest_ScrollToPercentBothDirection",
|
||||
"UIScrollViewTest_ScrollToPercentBothDirection_Bounce",
|
||||
"UIPageViewTest,",
|
||||
"UIPageViewTest",
|
||||
"UIPageViewButtonTest",
|
||||
"UIListViewTest_Vertical",
|
||||
"UIListViewTest_Horizontal",
|
||||
/*
|
||||
|
@ -344,7 +345,8 @@ Scene *UISceneManager::currentUIScene()
|
|||
|
||||
case kUIPageViewTest:
|
||||
return UIPageViewTest::sceneWithTitle(s_testArray[_currentUISceneId]);
|
||||
|
||||
case kUIPageViewButtonTest:
|
||||
return UIPageViewButtonTest::sceneWithTitle(s_testArray[_currentUISceneId]);
|
||||
case kUIListViewTest_Vertical:
|
||||
return UIListViewTest_Vertical::sceneWithTitle(s_testArray[_currentUISceneId]);
|
||||
|
||||
|
|
|
@ -90,6 +90,7 @@ enum
|
|||
kUIScrollViewTest_ScrollToPercentBothDirection,
|
||||
kUIScrollViewTest_ScrollToPercentBothDirection_Bounce,
|
||||
kUIPageViewTest,
|
||||
kUIPageViewButtonTest,
|
||||
kUIListViewTest_Vertical,
|
||||
kUIListViewTest_Horizontal,
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue