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位置的主要内容,如果未能解决你的问题,请参考以下文章

PHP仿微信多图片预览上传功能

PHP仿微信多图片预览上传

Androi:ListView+GridView实现仿微信微博朋友圈无焦点冲突

DataTable如何添加多选,全选

[Android-2A] -仿IOS微信滑动删除_SwipeListview左滑删除例子

Listview嵌套Viewpager实现仿淘宝搜狐广告主页,并实现listview的下拉刷新