如何用cocostudio做出网格状可滑动的列表?

需求是这样的,要设计游戏背包的UI,里面要显示所有物件,每个物件是一个方形的button(button是listview的统一模板),我用了listview和scrollview,研究了半天,发现物件只能从上往下排,或者从左往右排?即要么一行只有一个Button(竖直对齐),要么全在一行上。能不能用scrollview,listview或者pageview实现这样的效果,即button先从左往右排,当到达容器边缘,就自动换行从头开始排起,而容器只能竖直滑动?

您好,ScrollView支持两个方向的滚动,但是默认情况下是纵向滚动,请在属性里设置滚动方向为“横向加纵向”。这样就能达到您要的效果了。感谢您对CocoStudio的支持。

恩,谢谢,但是还有个问题,scrollview支持加载模板项吗?我用listview的时候就可以加载一个模板,用起来也很方便。

scrollview是不支持的,不过您可以通过自己预设来完成自己的模板,使用的时候使用copy方式。感谢您对CocoStudio的支持。

额,如果在此基础上,我想知道我点击了哪一个按钮可以知道么?像listview返回的序号。

你给按钮加上tag,然后给每一个按钮添加相同的事件监听,在监听里获取点击的按钮tag值。这样就能实现你想要功能了

关于滚动方向,不好意思,我可能没说清楚。其实我不希望容器左右滑动,而是只能上下滑动。然后动态往上添加按钮,按钮从左往右,然后从上到下依次添加,比如第一排添加四个,第二排添加四个,如此。。。之前我用listview, 它一行只会添加一个widget。就算setlayouttype到relative或者absolute也无法达到效果,其中relative排列的话,所有按钮都重叠在一起了。。。。综上所述,不知道scrollview能不能达到我的要求呢,又要怎么做呢。。。大神求解答。。。

这个应该写个简单的算法就搞定了。和控件没有关系。感谢您对CocoStudio的支持。

恩。。。。我以为scrollview会自动处理。。。现在在绝对布局下,对空间setposition就好了。。只是又有一个新问题,绝对布局的原点在左下角,相对布局的原点在左上角,我希望用左上角做原点。但是选了相对布局后,添加的控件都叠在一个位置上了,这有什么注意点吗?

您好,一般层在建立开始就定下布局的模式,确定后是相对或者绝对布局后再添加子控件。

嗯,太感谢你了。。。不过我布局一开始就用绝对的了。。有点难改,最后用了pageview来曲线救国。。。期待你们的下一个版本!

好的,谢谢支持。

可以告诉我用pageview怎么操作的吗?也在弄背包UI格子部分,

想问下楼主这个问题最终是怎么解决的?我现在遇到同样的问题,搞了很久都没搞好