Skip to content

Add a SliverGrid.list convenience constructor #173018

@loic-sharma

Description

@loic-sharma

Use case

Example:

child: CustomScrollView(
slivers: <Widget>[
SliverGrid(
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
crossAxisSpacing: 8,
mainAxisSpacing: 8,
),
delegate: SliverChildListDelegate(<Widget>[
const Center(child: Text('A')),
const Center(child: Text('B')),
const Center(child: Text('C')),
const Center(child: Text('D')),
]),
),
],
),

Proposal

Introduce a new SliverGrid.list API, similar to the existing SliverGrid.builder API except that it accepts a List<Widget> children argument instead of a itemBuilder argument:

child: CustomScrollView( 
   slivers: <Widget>[ 
     SliverGrid.list( 
       gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( 
         crossAxisCount: 2, 
         crossAxisSpacing: 8, 
         mainAxisSpacing: 8, 
       ), 
       children: <Widget>[ 
         const Center(child: Text('A')), 
         const Center(child: Text('B')), 
         const Center(child: Text('C')), 
         const Center(child: Text('D')), 
       ], 
     ), 
   ], 
 ), 

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectc: proposalA detailed proposal for a change to Flutterf: scrollingViewports, list views, slivers, etc.good first issueRelatively approachable for first-time contributorsteam-frameworkOwned by Framework teamtriaged-frameworkTriaged by Framework team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions