如何添加位于页面底部并可通过ListView滚动的小部件?

如何添加位于页面底部并可通过ListView滚动的小部件?,listview,flutter,dart,flutter-sliver,flutter-listview,Listview,Flutter,Dart,Flutter Sliver,Flutter Listview,我有一个ListView,它构建了多张卡片,在它们下面,我想添加一个文本小部件,它位于ListView下面,但位于页面底部,这意味着您必须向下滚动最后一张卡片才能看到它 Widget _buildCardList() { return ListView.builder( itemBuilder: _buildFoodCards, itemCount: cardList.length, ); } @override Widget bui

我有一个ListView,它构建了多张卡片,在它们下面,我想添加一个文本小部件,它位于ListView下面,但位于页面底部,这意味着您必须向下滚动最后一张卡片才能看到它

   Widget _buildCardList() {
    return ListView.builder(
      itemBuilder: _buildFoodCards,
      itemCount: cardList.length,
    );
  }

   @override
  Widget build(BuildContext context) {
    return Container(
      // constraints: BoxConstraints.expand(),
      decoration: BoxDecoration(
        gradient: LinearGradient(
          begin: Alignment.topCenter,
          end: Alignment.bottomCenter,
          colors: [Color(0xff170422), Color(0xff9B22E6)],
          stops: [0.75, 1],
        ),
      ),
      child: Column(
        children: <Widget>[
          Expanded(child: _buildCardList()),
          Text(
            'TEXT THAT SHOULD BE SCROLLABLE UNDER THE LISTVIEW',
            style: TextStyle(color: Colors.white),
          )
        ],
      ),
    );
  }
Widget\u buildCardList(){
返回ListView.builder(
itemBuilder:_buildFoodCards,
itemCount:cardList.length,
);
}
@凌驾
小部件构建(构建上下文){
返回容器(
//约束:BoxConstraints.expand(),
装饰:盒子装饰(
梯度:线性梯度(
开始:Alignment.topCenter,
结束:对齐。底部中心,
颜色:[颜色(0xff170422),颜色(0xff9B22E6)],
停止:[0.75,1],
),
),
子:列(
儿童:[
已展开(子项:_buildCardList()),
正文(
'应在LISTVIEW下滚动的文本',
样式:TextStyle(颜色:Colors.white),
)
],
),
);
}
我现在在ListView下有文本,但是文本在页面上是静态的,不能与ListView一起滚动


只需进行一些更改即可使其正常工作:

  • 包覆面提取设置为您的
    列表视图
  • 物理设置为您的
    列表视图
  • 添加
    SingleChildScrollView
    作为
    列的父级
  • 删除扩展的小部件
代码


小部件_buildCardList(){
返回ListView.builder(
收缩膜:对,
物理学:NeverscrollableScroll物理学(),
itemBuilder:_buildFoodCards,
itemCount:cardList.length,
);
}
@凌驾
小部件构建(构建上下文){
返回容器(
//约束:BoxConstraints.expand(),
装饰:盒子装饰(
梯度:线性梯度(
开始:Alignment.topCenter,
结束:对齐。底部中心,
颜色:[颜色(0xff170422),颜色(0xff9B22E6)],
停止:[0.75,1],
),
),
子:SingleChildScrollView(
子:列(
儿童:[
_buildCardList(),
正文(
'应在LISTVIEW下滚动的文本',
样式:TextStyle(颜色:Colors.white),
)
],
),
),
);
}

希望它能有所帮助:)

只需进行一些更改即可使其正常工作:

  • 包覆面提取设置为您的
    列表视图
  • 物理设置为您的
    列表视图
  • 添加
    SingleChildScrollView
    作为
    列的父级
  • 删除扩展的小部件
代码


小部件_buildCardList(){
返回ListView.builder(
收缩膜:对,
物理学:NeverscrollableScroll物理学(),
itemBuilder:_buildFoodCards,
itemCount:cardList.length,
);
}
@凌驾
小部件构建(构建上下文){
返回容器(
//约束:BoxConstraints.expand(),
装饰:盒子装饰(
梯度:线性梯度(
开始:Alignment.topCenter,
结束:对齐。底部中心,
颜色:[颜色(0xff170422),颜色(0xff9B22E6)],
停止:[0.75,1],
),
),
子:SingleChildScrollView(
子:列(
儿童:[
_buildCardList(),
正文(
'应在LISTVIEW下滚动的文本',
样式:TextStyle(颜色:Colors.white),
)
],
),
),
);
}

希望有帮助:)

您到底想要什么作为输出?请添加图像或更多信息。您到底想要什么作为输出?请添加图像或更多信息。

  Widget _buildCardList() {
    return ListView.builder(
      shrinkWrap: true,
      physics: NeverScrollableScrollPhysics(),
      itemBuilder: _buildFoodCards,
      itemCount: cardList.length,
    );
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      // constraints: BoxConstraints.expand(),
      decoration: BoxDecoration(
        gradient: LinearGradient(
          begin: Alignment.topCenter,
          end: Alignment.bottomCenter,
          colors: [Color(0xff170422), Color(0xff9B22E6)],
          stops: [0.75, 1],
        ),
      ),
      child: SingleChildScrollView(
        child: Column(
          children: <Widget>[
            _buildCardList(),
            Text(
              'TEXT THAT SHOULD BE SCROLLABLE UNDER THE LISTVIEW',
              style: TextStyle(color: Colors.white),
            )
          ],
        ),
      ),
    );
  }