分享一个可以分层管理节点的ListView

使用方式

  1. 将一个ScrollView拖到界面中,挂上GridLayerListView组件

  2. 定义一个处理逻辑的组件挂到界面上,并在逻辑组件中声明好使用的变量和函数,设置好GridLayerListView的参数。

  3. 设置ScrollView 和View 的宽高,注意尤其是View的宽高,因为View大小就是可见区域,代码中会根据View的宽高判断应该显示的列数或者行数。

使用效果

为了看优化的效果,用到的两个纹理都去掉了Packable选项,而且小游戏和原生平台默认禁用动态合图。

  1. 不分层的GridListView dc=64


    在不分层管理的情况下,道具中的label是否设置为Char模式dc都是一样的。

  2. 分层+Label不为Char模式 dc=23

  3. 分层+Label为Char模式 dc=9

  4. 道具的预制体结构

  5. 道具使用情况

    根据后台输出可以看出,一共有35个需要显示的道具,实际上只创建了3 x5 = 15个道具。即使你有再多的道具需要显示,哪怕有成千上万个,也只用这15道具重复利用,所以用不用对象池酌情考虑。

  6. dc 从64 减少到9,这9个dc分别是:mask 2;全屏背景 1;scrollview背景 1;道具 4;左下角dc信息 1;

  7. 实现的功能很简单,有特殊需求的自己扩展了。

进入公众号回复 listview 可获得demo的git地址。

1赞

麻烦说一下具体的分层管理是怎么实现的么?

有源代码的,你看一下就明白了。