我有一个添加了页脚的ListView listview.addFooterView(footerView);
所有工作都按预期排除在一种情况下:当我的listview的项目没有填满整个屏幕时,我希望页脚位于屏幕的底部,而不是在中间.有办法轻松做到这一点吗?或者我应该改变我的布局?
谢谢
编辑:这可能会有所帮助(这就是我想要的)

我想创建一个视图,无论屏幕大小如何,它都必须具有Column滚动视图(例如类似的东西SingleChildScrollView)和页脚。如果屏幕足够大,它将使用滚动和页脚之间的空白空间,如果不是,它将扩展并且只使页脚上方的小部件可滚动。
它或多或少类似于底部带有滚动页脚的 Listview,但不同之处在于我希望键盘溢出页脚并且它也应该保持原位。
就像是
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.only(left: 30.0, right: 30.0, top: 80.0),
child: Form(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
// Multiple widgets and form fields
],
),
),
),
),
Padding(
padding: const EdgeInsets.only(top: 50.0),
child: SafeArea(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
// Footer widgets
],
),
),
)
],
),
);
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个滚动列表,该列表可以在滚动列表的底部具有页脚。如果列表没有填满所有垂直屏幕空间,则页脚将需要向下移动到页面底部。
我尝试使用SliverList和SliverFillRemaining在中实现这一点,CustomScrollView但SliverFillRemaining我相信显示了一些意外的行为。它填满了多余的空间(请参阅gif)。
我使用以下代码创建了此列表:
child: new CustomScrollView(
slivers: <Widget>[
new SliverList(
delegate: new SliverChildBuilderDelegate(
(BuildContext context, int index) {
return new Card(
child: new Container(
padding: new EdgeInsets.all(20.0),
child: new Center(child: new Text("Card $index")),
),
);
},
childCount: 3,
),
),
new SliverPadding(
padding: new EdgeInsets.all(5.0),
),
new SliverFillRemaining(
child: new Container(
color: Colors.red,
),
)
],
)
Run Code Online (Sandbox Code Playgroud)