listview01

.cpp文件:

#include "HelloWorldScene.h"
#include "ui/CocosGUI.h"
#include "an01.h"
USING_NS_CC;
using namespace cocos2d::ui;
const char* font_UIListViewTest = "fonts/Marker Felt.ttf";
Scene* HelloWorld::createScene()
{
    // 'scene' is an autorelease object
    auto scene = Scene::create();
    
    // 'layer' is an autorelease object
    auto layer = HelloWorld::create();

    // add layer as a child to scene
    scene->addChild(layer);

    // return the scene
    return scene;
}

// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();

    /////////////////////////////
    // 2. add a menu item with "X" image, which is clicked to quit the program
    //    you may modify it.

    // add a "close" icon to exit the progress. it's an autorelease object
    auto closeItem = MenuItemImage::create(
                                           "CloseNormal.png",
                                           "CloseSelected.png",
                                           CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
    
	closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 ,
                                origin.y + closeItem->getContentSize().height/2));

    // create menu, it's an autorelease object
    auto menu = Menu::create(closeItem, NULL);
    menu->setPosition(Vec2::ZERO);
    this->addChild(menu, 1);

    /////////////////////////////
    // 3. add your codes below...

    // add a label shows "Hello World"
    // create and initialize a label
    
    auto label = Label::createWithTTF("Hello World", "fonts/Marker Felt.ttf", 24);
    
    // position the label on the center of the screen
    label->setPosition(Vec2(origin.x + visibleSize.width/2,
                            origin.y + visibleSize.height - label->getContentSize().height));

    // add the label as a child to this layer
    this->addChild(label, 1);

    // add "HelloWorld" splash screen"
   // auto Sprite = Sprite::create("HelloWorld.png");

    // position the sprite on the center of the screen
	//Sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));


    // add the sprite as a child to this layer
   // this->addChild(Sprite, 0);
	//Size widgetSize = _widget->getContentSize();

	//_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.5f));

	//_uiLayer->addChild(_displayValueLabel);


	//Text* alert = Text::create("ListView horizontal", "fonts/Marker Felt.ttf", 30);
	//alert->setColor(Color3B(159, 168, 176));
	//alert->setPosition(Vec2(visibleSize.width / 2.0f, visibleSize.height / 2.0f - alert->getContentSize().height * 3.075f));
	//addChild(alert);

	Layout* root = static_cast<Layout*>(getChildByTag(81));

	//Layout* background = static_cast<Layout*>(root->getChildByName("background_Panel"));
	//Size backgroundSize = background->getContentSize();


	// create list view ex data

	for (int i = 0; i < 20; ++i)
	{
		std::string ccstr = StringUtils::format("listview_item_%d", i);
		_array.push_back(ccstr);
	}


	// Create the list view ex
	ListView* listView = ListView::create();
	// set list view ex direction
	listView->setDirection(ui::ScrollView::Direction::HORIZONTAL);
	listView->setTouchEnabled(true);
	listView->setBounceEnabled(true);
	listView->setBackGroundImage("cocosui/green_edit.png");
	listView->setBackGroundImageScale9Enabled(true);
	listView->setContentSize(Size(240, 130));
	listView->setScale(1.5f);
	listView->setAnchorPoint(Vec2(0.450f, 0.50f));
	listView->setPosition(Vec2(visibleSize.width/ 2.0f,
		
		visibleSize.height / 2.0f ));
	//listView->addEventListener((ui::ListView::ccListViewCallback)CC_CALLBACK_2(HelloWorld::selectedItemEvent, this));
	listView->setScrollBarPositionFromCorner(Vec2(7, 7));
	addChild(listView);

	return true;
}


void HelloWorld::menuCloseCallback(Ref* pSender)
{
    Director::getInstance()->end();

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    exit(0);
#endif
}


posted @ 2015-10-29 22:50  Anzhongliu  阅读(112)  评论(0编辑  收藏  举报