【发布时间】:2019-09-25 10:06:59
【问题描述】:
所以我有以下屏幕:
我正在寻找一种方法,使当用户向上滚动时,包含进度条和这 4 个数据字段 (ItemHeader) 的小部件将向上滚动,但搜索容器 (SearchTextField) 将被固定 (到顶部)。当然,当用户向下滚动时,它应该会重新出现。
我找到的所有解决方案都解决了使用标签的情况。代码添加在下面,谢谢!
Scaffold(
backgroundColor: Theme.of(context).backgroundColor,
appBar: MyAppBar(
true,
title: constructParentName,
parentTitle: siteParentName,
),
endDrawer: MyDrawer(),
body: _isLoading
? Center(
child: CircularProgressIndicator(),
)
: Column(
children: <Widget>[
ItemHeader("24", "23", "33"), //This is the widget I would like to hide while scrolling up
SearchTextField(controller),
Expanded(
child: ListView.builder(
itemBuilder: (BuildContext context, int i) {
return filter == null || filter == ""
? ItemDetail(
itemId: subconstructs[i].subconstructId,
itemName: subconstructs[i].subconstructName,
tasksDone: subconstructs[i].tasksDone,
tasksRejected: subconstructs[i].tasksRejected,
tasksPending: subconstructs[i].tasksPending,
authToken: authToken,
constructParentId: constructParentId,
siteParentId: siteAncestorId,
callBack: () {
return PageEnum.Subconstructs;
},
)
: subconstructs[i]
.subconstructName
.toString()
.toLowerCase()
.contains(filter.toLowerCase())
? ItemDetail(
itemId: subconstructs[i].subconstructId,
itemName: subconstructs[i].subconstructName,
tasksDone: subconstructs[i].tasksDone,
tasksRejected: subconstructs[i].tasksRejected,
tasksPending: subconstructs[i].tasksPending,
authToken: authToken,
constructParentId: constructParentId,
siteParentId: siteAncestorId,
callBack: () {
return PageEnum.Subconstructs;
},
)
: new Container();
},
itemCount: subconstructs.length,
),
),
],
),
bottomNavigationBar: buildBottomNavBar(),
);
【问题讨论】:
-
@AmitPrajapati 抱歉,我无法理解这应该如何解决我的问题
-
你的代码看起来很完美,试试 resizeToAvoidBottomInset: true in scaffold
-
@AmitPrajapati 目前 ItemHeader 和 SearchTextField 小部件不在任何滚动类型的列表中,因此它们不可滚动。该标志并没有真正改变任何行为