本组件提供了一整套虚拟列表解决方案,适用于需要展示大量数据的场景,确保列表在高性能和低消耗下流畅运行。
开发环境
- 引擎版本:Cocos Creator 3.x/2.x
- 编程语言:TypeScript
适配平台
微信小游戏Android原生iOS原生抖音小游戏OPPO小游戏vivo小游戏✔✔✔✔✔✔效果展示
- 多种布局,节点复用
- 支持多模板模式
- 动态调整Item尺寸
- 定向跳转,动态居中
- 更新指定Item数据
- 动态插入Item到指定位置
- 动态删除指定位置的Item
体验地址
网页版-虚拟列表在线体验
主要功能点
- 使用简单:使用简洁,注释清晰
- 多种布局:垂直、水平、网格、多模板布局
- 自适应刷新频率: 减少运算,提高性能
- 自定义缓存区大小: 提前加载,避免卡顿
- 自适应性能参数:性能参数,自适应计算
- 自定义模板:注册不同模板类型
- 分帧加载:通过分帧加载技术,避免一次性加载大量数据导致的性能问题,确保界面流畅。
- 节点池管理:使用节点池管理机制,复用节点,减少频繁创建和销毁节点带来的性能开销。
- 防抖动处理:在滚动事件中加入防抖动处理,避免频繁触发更新操作,提高性能。
- 动态修改Item数据并更新:支持动态修改列表项的数据,并实时更新显示内容。
- 动态修改Item尺寸:支持动态修改列表项的尺寸,并自动调整布局。
- 高度复用:通过节点池和分帧加载机制,实现节点的高度复用,减少内存占用。
- 低Drawcall:优化渲染流程,减少Drawcall次数,提高渲染性能。
使用教程
- 初始化虚拟列表
- 数据驱动刷新列表
- 触发Item回调
常用接口
- ReloadData:重载数据,刷新列表
- InsertItemAt:指定位置插入Item
- RemoveItemAt:指定位置删除Item
- RegisterTemplate: 注册Item模板
- ScrollToIndex:滚动到指定索引项,使该项出现在屏幕正中央
- UpdateItemSize:更新指定索引项的尺寸
- UpdateItemAt:更新指定索引项的数据
- Refresh:刷新列表数据或尺寸变化后调用
题外话
<ul>Q:为什么用【白菜】作为Item的ICON
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |