Incular logoIncular
API ReferenceNavigation & Scrolling

Scroll Configuration

Ambient physics and primary-controller scopes for scroll subtrees.

ScrollConfiguration sets ambient physics/behavior for descendant scroll views; PrimaryScrollController associates a controller as the subtree default.

use incular::prelude::*;

fn main() {
    let controller = ScrollController::new();
    let app = Application::new(move |_cx| {
        Container::builder()
            .padding(EdgeInsets::all(24.0))
            .alignment(Alignment::CENTER)
            .child(
                ScrollConfiguration::new(
                    PrimaryScrollController::new(
                        controller.clone(),
                        ListView::builder(50, |i| {
                            Text::new(format!("row {i}"))
                        }),
                    ),
                )
                .physics(ScrollPhysics::clamping()),
            )
            .build()
            .into()
    })
    .expect("valid application");
    incular::run(app).expect("run application");
}

ScrollNotificationSubscription is the RAII listener handle from add_notification_listener / add_listener (drop removes the listener).

Related: ScrollController, ListView.