简体   繁体   中英

Custom Flutter widget to return two widgets for use with CustomScrollView / slivers

I have a Flutter CustomScrollView with the following structure:

body: CustomScrollView(
  slivers: <Widget>[
    MyCustomTitle(...),
    MyCustomSliverGrid(...)
    MyCustomTitle(...),
    MyCustomSliverGrid(...)
    MyCustomTitle(...),
    MyCustomSliverGrid(...)
    ...
  ],
),

MyCustomTitle extends StatelessWidget and in the build method returns a SliverToBoxAdapter widget, and the MyCustomSliverGrid widget extends StatelessWidget and in the build method returns a SliverGrid widget.

How can I implement a single Widget ( MyCustomSliverGridWithTitle ) that returns both the custom title and the custom SliverGrid? From the build method of a StatelessWidget I can only return a single Widget, not two.

You can bundle MyCustomTitle and MyCustomSliverGrid into one widget with MultiSliver .

class MyCustomSliverGridWithTitle extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MultiSliver(
      children: <Widget>[
        MyCustomTitle(...),
        MyCustomSliverGrid(...),
      ],
    );
  }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM