@@ -307,65 +307,35 @@ void UIEditBoxTestToggleVisibility::editBoxReturn(ui::EditBox* editBox)
307307
308308// UIEditBoxTestTextHorizontalAlignment
309309
310- bool UIEditBoxTestTextHorizontalAlignment::init ()
311- {
312- if (UIScene::init ())
313- {
314- auto glview = Director::getInstance ()->getOpenGLView ();
315- auto visibleOrigin = glview->getVisibleOrigin ();
316- auto visibleSize = glview->getVisibleSize ();
317-
318- auto pBg = Sprite::create (" Images/HelloWorld.png" );
319- pBg->setPosition (Vec2 (visibleOrigin.x +visibleSize.width /2 , visibleOrigin.y +visibleSize.height /2 ));
320- addChild (pBg);
321-
322- auto editBoxSize = Size (visibleSize.width - 100 , visibleSize.height * 0.1 );
323-
324- // top
325- std::string pNormalSprite = " extensions/green_edit.png" ;
326- ui::EditBox* editName = ui::EditBox::create (editBoxSize + Size (0 ,40 ), ui::Scale9Sprite::create (pNormalSprite));
327- editName->setPosition (Vec2 (visibleOrigin.x +visibleSize.width /2 -50 , visibleOrigin.y +visibleSize.height *3 /4 ));
328- editName->setFontColor (Color3B::RED);
329- editName->setPlaceHolder (" Name:" );
330- editName->setPlaceholderFontColor (Color3B::WHITE);
331- editName->setMaxLength (8 );
332- editName->setFontSize (editBoxSize.height /2 );
333- editName->setTextHorizontalAlignment (TextHAlignment::LEFT);
334- editName->setText (" v👐👊💝" );
335- editName->setReturnType (ui::EditBox::KeyboardReturnType::DONE);
336- addChild (editName);
337-
338- // middle
339- ui::EditBox* editPassword = ui::EditBox::create (editBoxSize, " extensions/orange_edit.png" );
340- editPassword->setPosition (Vec2 (visibleOrigin.x +visibleSize.width /2 -50 , visibleOrigin.y +visibleSize.height /2 ));
341- editPassword->setFontColor (Color3B::GREEN);
342- editPassword->setPlaceHolder (" Password:" );
343- editPassword->setMaxLength (6 );
344- editPassword->setInputFlag (ui::EditBox::InputFlag::PASSWORD);
345- editPassword->setInputMode (ui::EditBox::InputMode::SINGLE_LINE);
346- editPassword->setFontSize (editBoxSize.height /2 );
347- editPassword->setTextHorizontalAlignment (TextHAlignment::CENTER);
348- addChild (editPassword);
349-
350- // bottom
351- // Add an intermediate Node to test scaling and content size relative to world
352- Node* editEmailParent = Node::create ();
353- // _editEmailParent->setScale(0.5);
354- editEmailParent->setPosition (Vec2 (visibleOrigin.x +visibleSize.width /2 -50 , visibleOrigin.y +visibleSize.height /4 ));
355- addChild (editEmailParent);
356-
357- auto bottomButtonSize = Size (editBoxSize.width , editBoxSize.height + 10 );
358- ui::EditBox* editEmail = ui::EditBox::create (bottomButtonSize, " extensions/yellow_edit.png" );
359- editEmail->setPlaceHolder (" Email:" );
360- editEmail->setInputMode (ui::EditBox::InputMode::EMAIL_ADDRESS);
361- editEmail->setVisible (true );
362- editEmailParent->addChild (editEmail);
363- // It is required to use setFontSize and setContentSize after adding it to the hierarchy, so that native EditBox get the right size
364- editEmail->setFontSize (30 );
365- editEmail->setContentSize (bottomButtonSize);
366- editEmail->setTextHorizontalAlignment (TextHAlignment::RIGHT);
367-
368- return true ;
310+ bool UIEditBoxTestTextHorizontalAlignment::init () {
311+ if (!UIScene::init ()) {
312+ return false ;
369313 }
370- return false ;
314+
315+ const auto glview = Director::getInstance ()->getOpenGLView ();
316+ const auto visibleOrigin = glview->getVisibleOrigin ();
317+ const auto visibleSize = glview->getVisibleSize ();
318+ const auto editBoxSize = Size (visibleSize.width - 100 , visibleSize.height * 0.1 );
319+
320+ const auto createEditBox = [this , editBoxSize, visibleOrigin, visibleSize](const std::string& text,
321+ const TextHAlignment alignment,
322+ const int position_y) {
323+ ui::EditBox* editbox = ui::EditBox::create (editBoxSize + Size (0 ,40 ), ui::Scale9Sprite::create (" extensions/green_edit.png" ));
324+ editbox->setPosition (Vec2 (visibleOrigin.x +visibleSize.width /2 -50 , position_y));
325+ editbox->setFontColor (Color3B::RED);
326+ editbox->setPlaceHolder (text.c_str ());
327+ editbox->setPlaceholderFontColor (Color3B::WHITE);
328+ editbox->setMaxLength (8 );
329+ editbox->setFontSize (editBoxSize.height /2 );
330+ editbox->setText (text.c_str ());
331+ editbox->setTextHorizontalAlignment (alignment);
332+ editbox->setReturnType (ui::EditBox::KeyboardReturnType::DONE);
333+ addChild (editbox);
334+ };
335+
336+ createEditBox (" left alignment" , TextHAlignment::LEFT, visibleOrigin.y +visibleSize.height *3 /4 );
337+ createEditBox (" center alignment" , TextHAlignment::CENTER, visibleOrigin.y +visibleSize.height /2 );
338+ createEditBox (" right alignment" , TextHAlignment::RIGHT, visibleOrigin.y +visibleSize.height /4 );
339+
340+ return true ;
371341}
0 commit comments