Flutter 仿企业微信多选-listview可见item位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter 仿企业微信多选-listview可见item位置相关的知识,希望对你有一定的参考价值。
参考技术A有一个需求,是仿企业照微信的多选(效果大家自己去看)。我想到了两种方案:
思路:我们直接通过listview.builder是没办法自定义SliverChildBuilderDelegate,我们可以通过listview.custom来自定义SliverChildBuilderDelegate,通过自定义我们可以重写didFinishLayout方法,拿到里面缓存的第一个item和最后一个item。可见item的跟缓存item是差5个的,可以间接算出来,后面发现其实不太行,上下滑动之后会显示之前滑动时候的可见位置。 正解是:这个里面还有个estimateMaxScrollOffset方法,正常来说通过它可以获取到可见的第一个和最后一个item位置。但是我一开始使用这个方法,不会被回调,后面不知道修改了什么,就会回调,然后这个位置是准确的。
看下listview.builder的源码
我们可以看到childrenDelegate是直接定义好了的。
在看看listview.custom 的源码
childrenDelegate这个是一个必传参数。
以上是关于Flutter 仿企业微信多选-listview可见item位置的主要内容,如果未能解决你的问题,请参考以下文章
Androi:ListView+GridView实现仿微信微博朋友圈无焦点冲突