Page View
The Page View widget displays a scrollable list of pages. It is commonly used for onboarding screens, carousels, or any UI that requires full-page swiping.
Core Concepts
Page-by-Page Navigation
Content is split into discrete pages, not continuous scroll.
User navigates via swipe or programmatic control (using a controller).
PageController & Index
A
PageControllermanages:Current page index
Animating to the next/previous page
You can sync this index with indicators, tabs, or other UI.
One Layout per Page
Each child is a full layout (could be a whole screen).
Perfect when each state/step deserves its own dedicated screen, but you still want smooth swipe navigation.
Horizontal or Vertical
Commonly horizontal (like stories or onboarding),
Can be vertical if your UX calls for it.
Properties
1. Page View Settings
Data Source
A list of data that can be used to dynamically generate pages.
Controller
A PageController variable to control the currently displayed page.
Initial Page
The index of the page to show when the widget is first displayed.
Viewport Fraction
The fraction of the viewport that each page should occupy.
Scroll Direction
The direction of scrolling (horizontal or vertical).
2. Behaviour
Preload Page
If true, pages adjacent to the current page are preloaded.
Keep Page
If true, the state of each page is preserved as it scrolls off-screen.
Allow Scroll
If true, the user can scroll between pages.
Reverse
If true, the order of the pages is reversed.
Pad Ends
If true, padding is added to the ends of the list of pages.
Page Snapping
If true, the scroll view will snap to the nearest page.
3. Actions
onPageChanged
An action triggered when the currently displayed page changes. Receives an object with currentItem (the current page data) and index (the page index).
Children of Page View
children
The child widgets that represent each page in the page view. Each child has access to currentItem (the data for that page) and index (the page index). You can access these directly by name or with the PageView name prefix: pageViewName.currentItem.
Default Properties
The Page View widget supports the following sections of Default Properties:
Layout
widthheightpaddingmargin
Alignment
align
Visibility
visible
Use Cases
The PageView widget lets users swipe between full-screen pages horizontally (or vertically). Each page is usually a complete screen or section.
Use PageView when you want:
Onboarding / Intro Screens
Multiple slides explaining features of the app
Combined with dots/indicators to show progress (like your Digia onboarding)
Tabbed, swipeable content
Swipe between “Overview / Details / Reviews”
News sections, categories, or stories that users can swipe through
Step-by-step flows
Multi-step forms (Step 1 → Step 2 → Step 3)
Tutorials or walkthroughs with one step per page
Carousel-style full pages
Full-screen banners or hero sections you can swipe
Feature highlights or campaigns laid out as separate pages
Last updated