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

好的,下次更新会修复

mark

mark,大佬流啤

mark

mark

赞赞赞!!!

要支持每个item宽高不同,宽高能动态变化就牛逼了

确实, 聊天要提前算出每个节点的高还是挺困难的

可以先拖一个文本节点到界面上,遍历所有文本数据去设置这个文本节点的string,把高/宽度记录到一个object(key为下标,value为宽/高值),然后再隐藏或移除这个节点,这样就能得到所有文本数据的宽/高了。

的确比较繁琐,但我目前想不到除此以外更好的办法。

1赞

这个组件确实支持啊,只是要提前把宽/高数据都算出来,我目前想不到除此以外更好的方法。Demo里,点按钮Custom Height就能看到效果。

mark

mark

我们现在是在入屏之前 render 之后实时获取这个 node 的尺寸更新位置的, 可以做到动态高度, 但是实现的也不完美, 拖动会有重叠和卡顿的现象

mark

mark

Item拆成容器空节点和动态滚动显示的内容节点, 布局就用 Layout, 有多少个列表项就创建多少个容器, 每次滑动遍历所有容器是否在显示区域, 需要显示就从节点池里面取出内容节点添加容器中, 不显示的把内容节点放入节点池, 容器再套个 Widget, 会随着内容节点尺寸变化而变化, 这样就能做出想要的任何布局, Grid 布局也能做到, 缺点是列表项不能太多, 几十上百个还是可以的

mark

MARK,一直想要虚拟列表,自己写的不好用,试试这个。

感谢分享,用用看看

mark

1赞