Quantcast
Channel: Cocos中文社区 - 最新帖子
Viewing all articles
Browse latest Browse all 514161

完美自渲染虚拟列表组件

$
0
0

以往开发列表功能时,流程颇为繁琐。先创建滚动视图,接着对节点 layout 进行细致设置,调整锚点等一系列属性。完成初步设置后,还得反复检查是否行得通。只要某个细微之处的属性稍有偏差,就得修改后重新运行程序,如此反复,实在耗时耗力。这时不禁让人思索,为何不采用一个专门的组件来处理列表功能呢?


不妨试试自渲染虚拟列表组件,使用它,只需轻松创建一个 list 节点,再创建一个 cell 节点,然后在代码中配置数据源,简简单单三步,就能顺利达成列表功能需求,让列表创建变得高效便捷。


仅需一杯奶茶的花费,就能收获超乎想象的体验,绝对不会让你有丝毫后悔之意!赶紧来一探究竟吧!

功能介绍

  • 支持垂直列表布局、水平列表布局、网格垂直布局、网格水平布局以及自定义布局,满足多样化场景需求
  • 拥有流畅的惯性滚动效果,自带节点池复用组件
  • 无需依赖 Cocos 滚动视图及其他第三方,完全通过纯手动计算实现,性能极佳
  • 代码可读性高,易于理解与维护
  • 在实际场景中,仅需放置两个节点和挂载一个组件,后续通过代码进行配置即可轻松使用

使用教程

  • 第一步:在场景中新建list节点,并添加VirtualList组件,配置一下间距之类的

  • 第二步:添加 cell 节点,此时需留意,此节点属于复用节点类型。VirtualList 具备自动提取 list 节点之下首个子节点并将其设定为复用节点的功能,而该复用节点实际上就是我们所说的单元格。就拿此次演示来讲,在 cell 上我配置了一个 sprite 和一个 label,以此来展示基本效果。实际上,大家完全可以依据自身需求与创意,自由灵活地添加各式各样具有不同样式的节点作为复用节点,从而打造出独具个性与特色的列表呈现效果。

  • 第三步:

//对接数据源示例
//比如要实现一个垂直列表布局,可以这样写
let datas = ['小明', '小红', '小绿'];
this.virtualList.layoutType = VirtualListLayoutType.ListVertical;
//当不需要特殊布局时,第一个参数可以传null,默认使用第一个子节点的contentSize信息
this.virtualList.init(null, (node, index) => {
    node.getComponentInChildren(Label).string = datas[index];
})
this.virtualList.num = datas.length;

联系作者

  • 微信:DLCCCODE
  • 作者的源码小店


    有问题请联系作者,作者为你开发之路保驾护航!

Viewing all articles
Browse latest Browse all 514161

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>