Size winSize = Director::getInstance()->getVisibleSize();
Layout* _verticalLayout = cocos2d::ui::VBox::create();//水平布局
_verticalLayout->setPosition(Vec2(winSize.width / 2 - 80,winSize.height - 70));
Layer* _uiLayer = Layer::create();
_uiLayer->addChild(_verticalLayout);
_verticalLayout->setScale(0.5);
_verticalLayout->setFocused(true);
_verticalLayout->setLoopFocus(true);
_verticalLayout->setTag(100);
//_firstFocusedWidget = _verticalLayout;
int count1 = 1;
for (int i = 0; i<count1; ++i) {
ImageView *w = ImageView::create("scrollviewbg.png");
w->setAnchorPoint(Vec2::ZERO);
w->setTouchEnabled(true);
w->setScaleX(2.5);
w->setTag(i + count1);
w->addTouchEventListener(CC_CALLBACK_2(HelloWorld::onImageViewClicked,this));
_verticalLayout->addChild(w);
}
//add HBox into VBox
HBox *hBox = HBox::create();//垂直布局
hBox->setScale(0.8f);
hBox->setTag(101);
_verticalLayout->addChild(hBox);
int count2 = 2;
for (int i = 0; i < count2; ++i) {
ImageView *w = ImageView::create("scrollviewbg.png");
w->setAnchorPoint(Vec2(0,1));
w->setScaleY(2.0);
w->setTouchEnabled(true);
w->setTag(i + count1 + count2);
w->addTouchEventListener(CC_CALLBACK_2(HelloWorld::onImageViewClicked,this));
hBox->addChild(w);
}
VBox *innerVBox = VBox::create();
hBox->addChild(innerVBox);//水平布局中加入垂直布局
innerVBox->setTag(102);
// innerVBox->setPassFocustochild(false);
// innerVBox->setFocusEnabled(false);
int count3 = 2;
for (int i = 0; i<count3; ++i) {
ImageView *w = ImageView::create("scrollviewbg.png");
w->setTouchEnabled(true);
w->setTag(i + count1 + count2 + count3);
w->addTouchEventListener(CC_CALLBACK_2(HelloWorld::onImageViewClicked,this));
innerVBox->addChild(w);
}
this->addChild(_verticalLayout);
return true;
}
void HelloWorld::onImageViewClicked(cocos2d::Ref *ref,cocos2d::ui::Widget::TouchEventType touchType) { if (touchType == cocos2d::ui::Widget::TouchEventType::ENDED) { cocos2d::ui::Widget *w = (cocos2d::ui::Widget*)ref; if (w->isFocusEnabled()) { w->setFocusEnabled(false); w->setColor(Color3B::YELLOW); } else{ w->setFocusEnabled(true); w->setColor(Color3B::WHITE); } } }