虚拟列表(ScrollView) ,需要显示大量Item时能大幅降低Drawcall

经测试,原生端无性能问题。

提供个测试视频与apk:
https://www.lanzous.com/i8oi5hc

测试机型是小米Note3。

看不懂你的需求啊,三个分页共用一个List,每个Item都会响应事件不是很正常吗,你在事件里判断当前所在分页,再写相应逻辑就好啦

嗯嗯,理解了,谢谢

大佬,我发现使用page的时候,如果不是虚拟列表,第一次滑动page的时候这里面的_beganPos为undifined,所以第一次滑动pageIndex的Event事件是没有返回的,但我不知道怎么修复,还没完全看懂所有代码,期待大佬能修复一下,目前已经把工具引用到项目中了

在滑动的时候,如果重新刷新列表,会重复调用100多次刷新item的方法(我有4个item)

这个设置数量大于item数量才会,在update里面有个循环

dao’zhi’d导致的

插眼,感谢大佬分享

大老,有没有cocos3d版本

mark, 感谢分享.

mark

战术插眼

实用 ,

在用虚拟列表组件滚动上下滚动的,在tab来回切换列表的情况下。切换下个tab时候,数据还是停在原来的索引位置。怎么能做到重置,每次切换tab都是从第一条数据开始?我在每次切换的时候,把content.y=0,效果不是很好?

这个很好用,但是我想请问下,我做个聊天框,怎么每次发送消息拉到底部呢,如果用官方的.scrollToBottom(); 再拖动聊天框就很不流畅。。。

感谢楼主提供这么功能强大的源码,还适配如此多的模式,着实不容易,但发现个bug:
每行一个item的竖屏列表,item是自定义高度的(每个item的高度大小不一样,item0高度为500,item1和之后的高度都为200),设计分辨率高度为1024,启动的时候第一次显示列表的时候,只能看到2个列表,本来应该显示3~4个的(500+200*2<1000),随便滑动一下列表就全部显示出来了,应该是第一次计算的有问题。
试了如果改为非自定义高度,即每个item的高度一样就没有这个问题。
不知道其他人有没有遇到?

Tab切换时调用 List._scrollView.scrollToTop()

建议你把List改为从底到顶的方式,即ContentLayout组件的Vertical DirectionBOTTOM_TO_TOP,锚点都设为(0.5, 0)

已修复,去Github获取最新版本吧~

感谢,之前我都没注意到有这个问题。
现已修复,去Github获取最新版本吧~

楼主威武,多谢

计算的时候其实可以考虑把affectedByScale这个也算上,不然子节点不能缩放