Incular logoIncular
API ReferenceNavigation & Scrolling

SliverGrid

Lazy grid sliver with delegate-driven layout.

use incular::prelude::*;

fn main() {
    let app = Application::new(|_cx| {
        Container::builder()
            .padding(EdgeInsets::all(24.0))
            .alignment(Alignment::CENTER)
            .child(
                CustomScrollView::new(vec![
                    Box::new(SliverGrid::builder(
                        20,
                        SliverGridDelegate::fixed_cross_axis_count(2)
                            .main_axis_spacing(8.0)
                            .cross_axis_spacing(8.0),
                        |i| Text::new(format!("cell {i}")),
                    )) as Box<dyn Sliver>,
                ]),
            )
            .build()
            .into()
    })
    .expect("valid application");
    incular::run(app).expect("run application");
}

viewport_fraction clamps to >= 0.01 (default 1.0); fallback_extent clamps to >= 1.0.

TypeStrategy
SliverGridBuilder cells with a grid delegate
SliverGridDelegatefixed_cross_axis_count / max_cross_axis_extent + spacings
SliverFillViewportFull-viewport pages with fraction and fallback

Related: SliverList, GridView.