API ReferenceNavigation & Scrolling
Sliver Headers
Persistent, floating, resizing, and natural headers with scroll behaviors.
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(SliverToBoxAdapter::new(Text::new("Header")))
as Box<dyn Sliver>,
Box::new(SliverList::builder(30, |i| {
Text::new(format!("row {i}"))
})) as Box<dyn Sliver>,
]),
)
.build()
.into()
})
.expect("valid application");
incular::run(app).expect("run application");
}SliverHeaderScrollBehavior: Scroll / Pinned (default) / Floating /
FloatingPinned. SliverHeaderOverscrollBehavior: Translate (default) /
Stretch (needs bouncing physics).
| Header | Behavior |
|---|---|
SliverPersistentHeader | Fixed height, optionally pinned |
SliverAppBar | Title bar with expanded/collapsed heights |
SliverFloatingHeader | Reappears on reverse scroll, optional snap |
SliverResizingHeader | Animated min/max extents with scroll policy |
SliverNaturalHeader | Measures child like pinned/floating |
PinnedHeaderSliver | Always pinned |
Related: CustomScrollView.