这篇记录了三个控件的使用流程:ScrollView和 ListView、PageView。
----------------------------------------------------------------------------------------------------------------------------
ScrollView
---------------------------------------------------------------------------------------------------------------------------
ScrollView这个控件大家应该挺熟的吧,反正我是经常用到。
1、首先在cocostudio 的UI界面添加一个ScrollView的控件,然后设置其属性。ScrollView要设置的东西比较多,我一开始做了如下的设置:
a 设置scrollView的显示窗口大小(Size)为:300x300;
b 设置scrollView的容器层大小(ContentSize)为 300x300;
c 打开BounceBack,也就是当scrollView拖到边缘时有一种弹性的效果
d 设置name 为 scrollView
e 往scollView中添加三个ImageView控件,其中两个放在scrollView显示窗口内,另外一个放在scrollView的显示窗口下方
e 导出工程到cocos2dx项目的Resources目录中
2、在cocos2dx中加载ScrollView的Widget,代码如下:
Widget* scrollViewUi = GUIReader::getInstance()->widgetFromJsonFile("ScrollViewUI/ScrollViewUi_1.json"); this->addChild(scrollViewUi,2);调试发现,scrollView的widget已经添加进了场景,但是想拖动scrollView却无法拖动,这也就看不到放在scrollView上的最下方的ImageView控件。
auto layout = static_cast<Layout*>(Helper::seekWidgetByName(scrollViewUi,"scrollView")); layout->setPosition(Point(300,300));4、ScrollView控件在cocostudio中的默认方向是竖直的,如果要改变为方向可以将Scroll Director中修改。
----------------------------------------------------------------------------------------------------------------------------
ListView
---------------------------------------------------------------------------------------------------------------------------
ListView这货说到底就像tableView,但个人感觉比tableView好用一点,因为,我基本没使用过tableView,如果你让我在cocos2dx用tableView实现某个UI,我肯定要花费点时间要了解下tableView的使用方法,原因就在于我认为只要用scrollView就可以实现tableView的所有功能了。Widget* ListViewUi = GUIReader::getInstance()->widgetFromJsonFile("ListViewUi_1/ListViewUi_1.json"); this->addChild(ListViewUi,2);
auto layout = static_cast<Layout*>(Helper::seekWidgetByName(ListViewUi,"ListView")); layout->setPosition(Point(300,300));8、就酱紫吧。没什么好补充的了。
----------------------------------------------------------------------------------------------------------------------------
PageView
---------------------------------------------------------------------------------------------------------------------------
终于看到PageView这货了,其实它也就是ScrollView的特别版。scrollView拖动多少界面就挪动多少,PageView拖一点界面就直接翻页了,真刺激。cocos2d::ui::Widget* pageViewUi = GUIReader::getInstance()->widgetFromJsonFile("PageView/pageViewUi_01.json"); this->addChild(pageViewUi,2);
就酱紫吧。
尊重原创,转载请注明来源:http://blog.csdn.net/star530/article/details/37371211