如果使用 SliverStack,如何使小部件位于屏幕底部?

how to make a widget to be on the bottom of the screen if using SliverStack?

如上图所示,我在顶部(应用栏正下方)有一个红色容器棒。这是我使用的代码

  CustomScrollView(
      slivers: [
          SliverAppBar(),
          _buildStack(),
      ]
  ),

 
  
  Widget _buildStack() {
    return SliverStack(
       children: [

        // I have other widgets here ..

        SliverPositioned(
          bottom: 0, // <-- I have set the bottom to be zero
          child: SliverToBoxAdapter(
            child: _buildRedBox(),
        ),
     
     ],
   )
 }
  

  Widget _buildRedBox() {
    return Container(
      width: double.infinity,
      height: 50,
      color: Colors.red,
    );
  }

我正在使用 sliver tool package,因此我可以访问 SliverStackSliverPositioned

如您所见,我已将底部设置为零。但红色框仍在顶部。我需要在我的 SliverStack 中制作屏幕底部的红色框。怎么做?

使用 SliverFillRemaining 小部件而不是 SliverPositioned 小部件。

SliverFillRemaining 将自动调整自身大小以填充最后一个列表项底部和视口底部之间的 space

SliverFillRemaining(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        children: [
          _buildRedBox(),
        ],
      ),
    ),