如何使SliverAppBar滚动到sub_page的SliverList之前

时间:2018-12-20 06:44:40

标签: flutter flutter-layout

当我scoll时,我希望可以先滚动SliverAppBar。 我该怎么做?现在 sub_page

预期效果: 在滚动操作中,首选项为SliverAppBar。显示/隐藏SliverAppBar后,继续滚动 sub_page 。演示(https://github.com/fanybook/cornerstone/blob/master/_docs/flutter_improve_scroll_priority.mp4?raw=true

要点是有子页面(和BottomNavigationBar)。如果可以通过多个SliverAppBar / bottom和NestedScrollView的body / SliverList实现单个页面。

enter image description here

1 个答案:

答案 0 :(得分:1)

关于您所寻找的内容的最小信息-

Widget build(BuildContext context) {
    return DefaultTabController(
      length: 3,
      child: Scaffold(
        body: CustomScrollView(
          slivers: <Widget>[
            SliverAppBar(
              title: Text('Demo'),
              pinned: false,

              bottom: PreferredSize(
                  child: TabBar(
                    tabs: <Widget>[
                      Text('Tab 1'),
                      Text('Tab 2'),
                      Text('Tab 3'),
                    ],
                  ),
                  preferredSize: Size.fromHeight(25.0)),
            ),
            SliverList(
              delegate: SliverChildBuilderDelegate((context, int) {
                return Text('Dummy text');
              }),
            ),
          ],
        ),
      ),
    );
  }

enter image description here