需求是当滑动到资产处时,资产栏吸顶,里面的内容可以继续往下滑动;
@override Widget build(BuildContext context) { return PageView( controller: pageController, children: tabBarViewList, ); } tabViewListSet() { tabBarViewList = [ const AssetsWidget(), const HoldPositionPage(), const PendingOrderPage(), ]; setState(() {}); }
但是滑动时,却发现这个吸顶会跟着一起动,并没有吸附住
原因:【位置共享】资产处是个Container,高度较短,而其他两个是ListView高度较高,当ListView滑动时另一个TabBarPage位置共享直接到了顶部,所以他就不会吸顶了
【解决方法】:
1、将资产处Container的高度设置到整个页面的高度
或者
2、资产处with AutomaticKeepAliveClientMixin去掉,每次切换页面都销毁
或者
3、解决位置共享问题
【位置共享】解决方法:07_Flutter使用NestedScrollView+TabBarView滚动位置共享问题修复_flutter nestedscrollview-CSDN博客