NeoCharts
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:

WhatOn openOn close
Screen orientationForced 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 UIImmersive (status and navigation bars hidden)Edge-to-edge
Back handlingSystemNavigator.setFrameworkHandlesBack(true) — back presses close chart overlays firstNot 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, pass style: (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_router ShellRoute, 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).

  • 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.terminal instead of the default constructor; see Web Quick Start § Terminal.

On this page