


It's rare to construct a Scrollable directly. Viewport, which actually displays the children, is constructed. Including gesture recognition, but does not have an opinion about how the GridView, which displays a 2 dimensional, scrollable array of children.Scrollable implements the interaction model for a scrollable widget,.ListView, which displays a linear, scrollable list of children.CupertinoScrollbar, an iOS style scrollbar.ScrollbarTheme, which configures the Scrollbar's appearance.RawScrollbar, a basic scrollbar that fades in and out, extendedīy this class to add more animations and behaviors.In response to MaterialStates using ScrollbarThemeData.thickness. The thickness of the track and scrollbar thumb can be changed dynamically This can also beĭrawn when triggered by a hover event, or based on any MaterialState by ScrollBehavior with scrollbars set to false.įlutter create -sample=material.Scrollbar.2 mysampleĪ scrollbar track can be added using trackVisibility. Widgets that do not have automatically applied Scrollbars includeĭefault Scrollbars can be disabled for the whole app by setting a The PrimaryScrollController, set ScrollView.primary to false. To prevent Axis.vertical Scrollables from using In thisĬase, only one Scrollable can be using the PrimaryScrollController, unless Will receive a unique ScrollController for use with the Scrollbar. PrimaryScrollController or have a ScrollController provided to them ScrollBehavior.buildScrollbar as part of an app's Scrollbars are added to most Scrollable widgets by default on
FLUTTER SCAFFOLD SCROLLABLE CODE
To create a local project with this code sample, run:įlutter create -sample=cupertino.RawScrollbar.1 mysample Automatic Scrollbars on Desktop Platforms Scrollable in this case to prevent having multiple ScrollPositions Provide a unique ScrollController to each ScrollController and have a ScrollView.scrollDirection ofĪxis.vertical will automatically attach their ScrollPosition to the ScrollViews that have not been provided a When using the PrimaryScrollController, it must not be attached to more ScrollIncrementType.page based on the relative position to the thumb. TappingĪlong the track exclusive of the thumb will trigger a The main axis of the ScrollView to change the ScrollPosition. Interactive Scrollbar thumbs can be dragged along

Scrollbars are interactive and can use the PrimaryScrollController ifĪ controller is not set. Relative location of the visible area, or calculate the accurate delta toĪpply when dragging on the thumb or tapping on the track. In this case, the scrollbar cannot accurately represent the If the child ScrollView is infinitely long, the RawScrollbar will not be

ScrollNotifications the Scrollbar should listen to. The notificationPredicate allows the ability to customize which The nearest ScrollView and shows the corresponding scrollbar thumb by default. If the scrollbar is wrapped around multiple ScrollViews, it only responds to The PrimaryScrollController is being used by that Scrollable widget. This requires that the ScrollControllerĪssociated with the Scrollable widget is provided to controller, or that When thumbVisibility is true, the scrollbar thumb will remain To add a scrollbar to a ScrollView, wrap the scroll viewĪ scrollbar thumb indicates which portion of a ScrollView is actuallyīy default, the thumb will fade in and out as the child scroll view
