Size size = Director::getInstance()->getVisibleSize();
ImageView* imageView = ImageView::create("ccicon.png");
imageView->setPosition(Vec2(size.width /2,size.height /2));
imageView->ignoreContentAdaptWithSize(false);
imageView->setScale9Enabled(true);
imageView->setContentSize(Size(100,100));
imageView->setCapInsets(Rect(20,20,20));//设置伸缩后的内框大小
imageView->setTouchEnabled(true);
imageView->addTouchEventListener([=](Ref* sender,cocos2d::ui::Widget::TouchEventType type){
if (type == cocos2d::ui::Widget::TouchEventType::ENDED)
{
if (imageView->isScale9Enabled())
{
imageView->setScale9Enabled(false);
}
else
{
imageView->setScale9Enabled(true);
}
}
});
this->addChild(imageView);
//ImageView嵌套
ImageView* imageView = ImageView::create("cocosui/buttonHighlighted.png"); imageView->setScale9Enabled(true); imageView->setContentSize(Size(200,80)); imageView->setPosition(Vec2(widgetSize.width / 2.0f,widgetSize.height / 2.0f )); ImageView* imageViewChild = ImageView::create("cocosui/buttonHighlighted.png"); imageViewChild->setScale9Enabled(true); imageViewChild->setSizeType(Widget::SizeType::PERCENT); imageViewChild->setPositionType(Widget::PositionType::PERCENT); imageViewChild->setSizePercent(Vec2::ANCHOR_MIDDLE); imageViewChild->setPositionPercent(Vec2::ANCHOR_MIDDLE); imageViewChild->setPosition(Vec2(widgetSize.width / 2.0f,widgetSize.height / 2.0f)); ImageView* imageViewChild2 = ImageView::create("cocosui/buttonHighlighted.png"); imageViewChild2->setScale9Enabled(true); imageViewChild2->setSizeType(Widget::SizeType::PERCENT); imageViewChild2->setPositionType(Widget::PositionType::PERCENT); imageViewChild2->setSizePercent(Vec2::ANCHOR_MIDDLE); imageViewChild2->setPositionPercent(Vec2::ANCHOR_MIDDLE); imageViewChild->addChild(imageViewChild2); imageView->addChild(imageViewChild); imageView->setTouchEnabled(true); imageView->addTouchEventListener([=](Ref* sender,Widget::TouchEventType type){ if (type == Widget::TouchEventType::ENDED) { float width = CCRANDOM_0_1() * 200 + 50; float height = CCRANDOM_0_1() * 80 + 30; imageView->setContentSize(Size(width,height)); imageViewChild->setPositionPercent(Vec2(CCRANDOM_0_1(),CCRANDOM_0_1())); status->setString(StringUtils::format("child ImageView position percent: %f,%f",imageViewChild->getPositionPercent().x,imageViewChild->getPositionPercent().y)); } }); _uiLayer->addChild(imageView);
原文链接:https://www.f2er.com/cocos2dx/340252.html