gpt4 book ai didi

带有 SliverAppBar 的 NestedScrollView 中的 Flutter PageView 主体未隐藏应用栏

转载 作者:行者123 更新时间:2023-12-05 06:59:51 24 4
gpt4 key购买 nike

我正在尝试在 NestedScrollView 的主体中构建一个 PageView.builder。但是,当我滚动 PageView 时,headerSliv​​erBuilder 中的 SliverAppBar 不会隐藏。我试过使用 ListView 而不是 PageView,它可以工作。但是我需要PageView的页面捕捉效果。我在这里做错了什么吗?

Scaffold(
key: _scaffoldKey,
body: NestedScrollView(
floatHeaderSlivers: true,
physics: NoImplicitScrollPhysics(parent: ScrollPhysics()),
headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
// These are the slivers that show up in the "outer" scroll view.
return <Widget>[
SliverAppBar(
floating: true,
pinned: false,
snap: true,
centerTitle: true,
automaticallyImplyLeading: false,
leading: IconButton(
color: mainColor,
onPressed: () {
_menuIconController.forward();
_scaffoldKey.currentState.openDrawer();
},
icon: AnimatedIcon(
icon: AnimatedIcons.menu_close,
progress: _menuIconController,
),
),
title: Text("Title"),
),
];
},
body: FutureBuilder(
future: _loading,
builder: (ctx, snapshot) {
return snapshot.connectionState != ConnectionState.done || _showLoading ? LoadingWidget() :
PageView.builder(
itemCount: _userProfiles.length,
scrollDirection: Axis.vertical,
itemBuilder: (ctx, index) {
return Profile(
userProfile: _userProfiles[index],
);
},
);
},
),
),
),

我已经尝试删除 NoImplicitScrollPhysics,但它没有任何效果。

最佳答案

您的 PageView 是垂直的,这就是应用栏不会收到正文通知的原因。

尝试将 physics: PageScrollPhysics() 添加到 ListView 以获得页面对齐。

关于带有 SliverAppBar 的 NestedScrollView 中的 Flutter PageView 主体未隐藏应用栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64290714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com