[QuickPlugin源码]:虚拟列表(ScrollView)-1.0.0

# 简介

这是一个虚拟(动态)列表组件。本组件是配合Creator本身的滚动窗结构去写的,所以在编辑器中操作会很方便,所见即所得。

# 下载

kl.zip (18.3 KB)

# 详情

转载(已经过作者同意):虚拟列表(ScrollView) ,需要显示大量Item时能大幅降低Drawcall

在线Demo:Cocos Creator | ListDemo

划重点,顺便科普一下:

别看Demo中Drawcall一百多好像很高的样子,这里有必要说明一下。
Demo中一共有四个列表,每个列表都有999个Item,每个Item都有一个或两个Label(非位图字体)。
按理说一个Label会耗费1单位Drawcall,但现在这是破千的数据量,Drawcall却保持在一百多。
这就是虚拟列表的好处,即使是上万、十万的数据量,都hold得住。
原理就不说了,感兴趣的可以去看源码,这里不做赘述,用得爽就行了。

支持:

  • 所有类型布局。(单列、单行、网格,甚至各种花式RIGHT_TO_LEFT、BOTTOM_TO_TOP)
  • 分帧渲染。
  • 选择模式。(单选、多选)
  • 滑动模式。(普通、粘附、分页)
  • 自定义Item的宽/高。(用来做聊天列表再适合不过)
  • 动态删除Item项。

2019/6/15更新:将分页模式独立出来,不建议再用ADHERING模式去做分页。

2019/7/20更新:

  • 新增 LakeCenter 属性。当该属性为 true ,Item数量过少时,会居中显示所有Item。(不支持 GRID 布局)
  • 新增 calcCustomSize 接口,方便开发者计算 CustomSize 。(如果模板Item的结构较复杂,建议还是在外部自行计算)
  • 修复反方向布局,Item数量过少时,会向正方向对齐的BUG。

欢迎Star、Clone、Issues,使用说明请阅读里面的README.MD:

# QuickPlugin

欢迎推荐更多免费分享的组件

马赛克大佬工作严重不饱和 天天研究自己的东西 :face_with_raised_eyebrow:

有没有可能,这是我下班做的东西 :sweat_smile:

看来是真不饱和,竟然还能下班。

mark一下,自定义宽高挺好的,不用自己写了

这个主要是免费源码及插件的集合 :+1:,因为有些时候分享一个自己写的组件及插件上传到商店很麻烦耗时长,用 QuickStore 可以直接下载及安装,发帖就可以发布插件及源码,欢迎更多人使用

1赞

你这是另辟蹊径虎口夺食啊,不过我喜欢