Screens
NxtChartPage
The default single-chart screen — Flutter, Android, and iOS only.
The baseline screen: one chart for one symbol, with trading/alerts/option-chain overlays as you implement them. See Trading and Charting for what drives what's on screen.
import 'package:nxtchart/widgets.dart';
NxtChartPage(dataProvider: MyChartController())dataProvider is the only argument — your ChartInterface implementation.
What NxtChartPage takes over
While it's mounted, NxtChartPage changes app-wide state. Plan your navigation around it:
| What | On open | On close |
|---|---|---|
| Screen orientation | Forced to landscape (or the user's last saved choice from the chart's own rotate toggle) | Forced to portrait only — your app's previous orientation setting isn't restored |
| System UI | Immersive (status and navigation bars hidden) | Edge-to-edge |
| Back handling | SystemNavigator.setFrameworkHandlesBack(true) — back presses close chart overlays first | Not reset |
If your app supports landscape or tablets, reapply your own
SystemChrome.setPreferredOrientations after the chart closes (e.g. when the route pops).
In a Flutter app, the page also runs its own nested MaterialApp:
- Theme: the chart follows your theme's brightness and
colorScheme.primary; to recolor anything else, passstyle:(see Theming). Fonts come from the SDK. - Locale: the chart's UI is English-only, whatever your app's locale.
- Navigation: routes the chart opens (order pad, dialogs) live on the chart's own
Navigator, so your app's navigator observers and analytics don't see them. - Close button: pops the root
Navigator(Navigator.of(context, rootNavigator: true)). Push the page on your root navigator, not inside a nested one (a go_routerShellRoute, an auto_route nested router, a tab's own navigator), or the close button pops the wrong route. - System back: handled by the page itself — it closes open chart overlays first, then pops the route it's on. Nothing to wire on your side beyond the Android manifest flag (Flutter Quick Start § 5).
Related screens
- Layout switching — the user can switch between a single chart and two two-panel layouts from the chart's own Layout settings tab; see Chart Layouts.
- Terminal — the web bundle's own multi-tile trading screen, mounted with
NxtChartPage.terminalinstead of the default constructor; see Web Quick Start § Terminal.