Android探路先锋之Flutter (滑动监听+加载更多功能实现)
发布时间:2020-12-14 14:58:17 所属栏目:百科 来源:网络整理
导读:ListView官网目前只介绍了一个下拉刷新功能,但上拉加载更多貌似没有甚至监听都没找到,相信以后会有大侠陆续给出自己的方案的,就像Android一样如雨后春笋,势不可挡。 在百度谷歌上目前都没有多少相关的解决方案 即使是flutter的一手资料也只给出了动态更
ListView官网目前只介绍了一个下拉刷新功能,但上拉加载更多貌似没有甚至监听都没找到,相信以后会有大侠陆续给出自己的方案的,就像Android一样如雨后春笋,势不可挡。 在百度谷歌上目前都没有多少相关的解决方案 即使是flutter的一手资料也只给出了动态更新的方案。 看来只能靠自己了? 不废话直接上源码? 核心即 所摸点长度 +滑动距离? = IistView的长度? 说明到达底部
var scrollController = new ScrollController(); double downY = 0.0lastDownY = lastListLength = ; new Listener( onPointerDown: (event) { print("onPointerDown=====${event.down}"); print(delta}kind} var position = event.position.distance"onPointerDown=====${position} downY = position"================onPointerDown================") }, onPointerMove: (event) { ; // print("onPointerMove=====${event.position}"); // print("onPointerMove=====${event.delta}"); var detal = position - lastDownYif (detal > 0) { print("================向下移动================") } else { //所摸点长度 +滑动距离 = IistView的长度 说明到达底部 print("================向上移动================") print( "scrollController==滑动距离=======${(position - downY)} var scrollExtent = scrollController.position .maxScrollExtent"scrollController==ListView最大长度===${scrollExtent} print("scrollController==所摸点长度===${scrollController offset}"scrollController==所摸点离屏幕距离===var result = offset + (position - downY).abs()"scrollController==result==$resultif (result >= scrollExtent) { print("scrollController====到达底部") lastListLength = scrollExtent loadMore(scrollExtent) } } lastDownY = position onPointerCancel: (event) { print("onPointerCancel=====${event.position} onPointerUp: (event) { // loadMore(); print("onPointerUp=====${event. child: ListView.builder( //primary: false, physics: const ClampingScrollPhysics() controller: scrollController itemBuilder: (BuildContext contextvar data = GankBean.fromJson(datas[index])return new NewsItemView( data.desc data.urlwhopublishedAttype ) } itemCount: datas == null ? 0 : datas.length ) ); Github源文件:https://github.com/goodluckforme/flutter_try/blob/master/lib/app/home/NicePage.dart 源码:Android探路先锋之Flutter Gank版本 欢迎strat哦。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |