Closed 1232209 closed 1 year ago
所以下拉刷新,在Flutter避免和NestedScrollView一起使用才是正确方式,哈哈哈。目前NestedScrollView的很多问题会得不到解决,或者需要很长时间。如果非必要的话,可以绕道而行
所以下拉刷新,在Flutter避免和NestedScrollView一起使用才是正确方式,哈哈哈。目前NestedScrollView的很多问题会得不到解决,或者需要很长时间。如果非必要的话,可以绕道而行 这就很难受了....大佬我申请加群没人同意呢,想和大家沟通一下呢
所以下拉刷新,在Flutter避免和NestedScrollView一起使用才是正确方式,哈哈哈。目前NestedScrollView的很多问题会得不到解决,或者需要很长时间。如果非必要的话,可以绕道而行 这就很难受了....大佬我申请加群没人同意呢,想和大家沟通一下呢
有个办法可以基本做到你想要的效果,虽然不完美。
EasyRefresh(
child: CustomScrollView(
slivers: <Widget>[
SliverPersistentHeader(
delegate: SliverHeaderDelegate.fixedHeight(
height: 200,
child: 组件一,
),
pinned: false,
),
SliverPersistentHeader(
delegate: SliverHeaderDelegate.fixedHeight(
height: 200,
child: 组件二,
),
pinned: false,
),
SliverPersistentHeader(
delegate: SliverHeaderDelegate.fixedHeight(
height: 50,
child: 要pin的tabbar,
),
pinned: true,
),
const HeaderLocator.sliver(),
SliverToBoxAdapter(child: 底下的list()),
const FooterLocator.sliver(),
],
),
),
其中,SliverHeaderDelegate参照Flutter实战第二版 - 6.10.2 Flutter 中常用的 Sliver
期待效果: https://user-images.githubusercontent.com/32189905/222321478-d64ca474-6552-47dc-bcfc-924bf46a4336.mp4 实际效果: https://user-images.githubusercontent.com/32189905/222321846-8e23a073-7020-48f8-b585-242a18cd8137.mp4
代码,改造的example:
分析:我查看了其它的isuue,也提到easy_refresh和nestScrollView结合起来使用时会有一些问题@https://github.com/xuelongqy/flutter_easy_refresh/issues/616 关于提到的加不加controller实验结果如下: 在自己的customScrollView加上scrollController之后能够正常触发刷新效果,但是nestedScrollView的效果就失效了(因为nestScrollView需要自己去控制controller) 不在customScrollView里面加scrollController的话,调用callrefresh,就animate到了页面顶部,并且没有触发刷新效果
提问:是我的使用姿势不对吗?有没有好的解决方案呢? 我最开始用的nestedScrollView+Pull_to_Refresh,这个方案也是有许多问题,希望哪位大哥看到能帮帮我