SliverAppBar-SliverList一直滚动到顶部

时间:2019-11-20 12:36:39

标签: flutter dart flutter-layout flutter-sliver flutter-appbar

我目前正在使用SliverAppBar,并且在滚动sliverList时遇到问题。

enter image description here

在上面的图片中,我的TabBar一直到通知栏。 sliverAppBar折叠时,我希望我的Tabbar贴在AppBar的底部。

这是我正在尝试的代码...

    return Scaffold(
  body: CustomScrollView(

    slivers: <Widget>[
      SliverAppBar(
        //backgroundColor: Colors.transparent,
        actions: <Widget>[
          IconButton(icon: Icon(Icons.favorite), onPressed: () {}),
          IconButton(icon: Icon(Icons.share), onPressed: () {})
        ],
        floating: false,
        pinned: true,
        expandedHeight: getHeight(context),
        flexibleSpace: FlexibleSpaceBar(
          title: Text("text"),
          background: Container(
            height: double.infinity,
            width: double.infinity,
            decoration: BoxDecoration(
                image: DecorationImage(
                    image: AssetImage(currentImage),
                    fit: BoxFit.cover)),
          ),
        ),
      ),
      SliverList(
        delegate: SliverChildListDelegate(bottomListView),
      ),
    ],
  )
  ,
);

2 个答案:

答案 0 :(得分:1)

只需使用 SliverAppBar bottom 参数并将 TabBar 传递给它即可。在 FlexibleSpaceBar 中添加 titlePadding 以从TabBar添加填充。如果需要更改TabBar的颜色,可以选中this question

请注意在FlexibleSpaceBar内部的标题和AppBar中的操作图标,因为长标题会导致最小化的appbar中出现重叠。

<div class="activity-details-data">
    Subject Line:
    <br>
    TEST SUBSCRIBE AND UNSUBSCRIBE
</div>

答案 1 :(得分:0)

它可能是一个错误:

https://github.com/flutter/flutter/issues/22393

因此您可以使用此package,它解决了此问题。