如何在颤动中为 sliverList 提供固定高度?

时间:2021-02-23 12:42:37

标签: android flutter

我正在尝试制作一个在滚动页面时会缩小的可折叠工具栏。

为此,我正在使用 Slivers。通过使用 SliverList,当数据被滚动时,它会在手机屏幕顶部的电池和时间透明栏中上升。因此,我想为列表提供固定高度,以便在有限区域内滚动。

enter image description here

我尝试将 SliverList 放入 SingleChildScrollViewSizedBoxContainer。但都没有奏效。

SliverList(
  delegate: SliverChildBuilderDelegate((context, index) {
    return Container(
      color: Colors.white,
      child: Text("Text"),
    );
  },
  chikdCount:100,
),

1 个答案:

答案 0 :(得分:0)

您可以使用 itemExtend 中的 SliverFixedExtentList 属性更改条带的高度。从今以后,所有孩子都将采用与 150.0 相同的高度。你能检查下面的代码吗?

SafeArea(
   child: CustomScrollView(
    slivers: <Widget>[
      SliverAppBar(
        title: Text('SliverAppBar'),
        backgroundColor: Colors.green,
        expandedHeight: 200.0,
        flexibleSpace: FlexibleSpaceBar(
          background: Image.asset('assets/forest.jpg', fit: BoxFit.cover),
        ),
      ),
      SliverFixedExtentList(
        itemExtent: 150.0,
        delegate: SliverChildListDelegate(
          [
            Container(color: Colors.red),
            Container(color: Colors.purple),
            Container(color: Colors.green),
            Container(color: Colors.orange),
            Container(color: Colors.yellow),
            Container(color: Colors.pink),
          ],
        ),
      ),
    ],
));