我目前有一个在整个屏幕上运行的列表视图.我希望在屏幕底部有一个按钮,这样就可以把它分开,这样列表视图就不会填满我的整个窗口.

以下是构建类的当前代码:

@override
Widget build(BuildContext context) {
  return Scaffold(
  appBar: AppBar(
    title: Text('HT scoreboard'),
  ),
  body: _buildBody(context),
);
}

Widget _buildBody(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
  stream: Firestore.instance.collection('Spillere').orderBy("score", descending: true).snapshots(),
  builder: (context, snapshot) {
    if (!snapshot.hasData) return LinearProgressIndicator();

    return _buildList(context, snapshot.data.documents);
  },
);
}

  Widget _buildList(BuildContext context, List<DocumentSnapshot> snapshot) {
return ListView(
  padding: const EdgeInsets.only(top: 10.0),
  children: snapshot.map((data) => _buildListItem(context, data)).toList(),
);
}

Widget _buildListItem(BuildContext context, DocumentSnapshot data) {
final record = Record.fromSnapshot(data);

return Padding(
  key: ValueKey(record.name),
  padding: const EdgeInsets.all(5.0),
  child: Container(
    decoration: BoxDecoration(
      border: Border.all(color: Colors.grey),
      borderRadius: BorderRadius.circular(5.0),
    ),
    child: ListTile(
      title: Text(record.name + ": " + record.score.toString()),
      trailing: new IconButton(icon: new Icon(isAdmin ? Icons.add : null, color: Colors.green),
          onPressed: (){
            if(isAdmin){
              record.reference.updateData({'score': record.score + 1});
            }
          }
      ),
    ),
  ),
);

推荐答案

更改您的buildlist函数,以包含一个带有按钮和listview作为子级的列

Widget _buildList(BuildContext context, List<DocumentSnapshot> snapshot) {
    return Column(
        children:[
            Expanded(
            child: ListView(
                   padding: const EdgeInsets.only(top: 10.0),
                   children: snapshot.map((data) => _buildListItem(context, data)).toList(),
                   ),
            ),
            RaisedButton(
            // fill in required params
            )
         ])
}

Flutter相关问答推荐

Flutter ReorderableListView在可滚动父级中无法完美工作

Riverpod生成器和生成util类

如何等待抖动S定时器.定期取消?

Riverpod状态管理-在调用请求时更新用户界面

blocTest错误:没有从`when()`中调用方法存根

如何使用Dio/Ffltter(前端)和amp;Go(后端)向API发送正确的请求

带有图标抖动的自定义下拉按钮

升级到Ffltter 3.16后,应用程序栏、背景 colored颜色 、按钮大小和间距都会发生变化

FittedBox叠加技术在Flutter 中的应用

无法将新文物与Flutter 项目集成在一起

Flutter 构建 Web 分段故障 - 无法启动事件处理程序线程

Flutter CarouselSlider中如何防止右图与放大的中心图重叠?

Flutter Dismissible 不会在 startToEnd 滑动时被关闭

Flutter屏幕适配 - 在模拟器和真实手机上文本尺寸不同

如何设置行中项目之间的空格相等?

提供者、存储库和服务之间有什么区别?

从子集合sem中获取参考学年&&课程名称的值

Flutter:当我通过 Transform.rotate 旋转水平 ListView 时,左右边缘被切断

setState 不会在第一次更新 - Flutter

Flutter Bloc Todo 示例 - 收听存储库中的单个 todo