GetMaterialApp class

A fully customized MaterialApp designed to be the entry point for GetXify applications.

It extends MaterialApp capabilities by seamlessly integrating:

  • Routing: Built-in declarative routing via getPages or standard routes.
  • State Management: Dependency injection configuration using binds.
  • Theming: Dynamic theme swapping and transition management.
  • Localization: Simple language setup with translations and locale.

Use GetMaterialApp.router to construct an app using the Router API, supplying a routerConfig or custom routerDelegate.

Inheritance
Available extensions

Constructors

GetMaterialApp({Key? key, GlobalKey<NavigatorState>? navigatorKey, GlobalKey<ScaffoldMessengerState>? scaffoldMessengerKey, Widget? home, Map<String, Widget Function(BuildContext)> routes = const <String, WidgetBuilder>{}, String? initialRoute, RouteFactory? onGenerateRoute, InitialRouteListFactory? onGenerateInitialRoutes, RouteFactory? onUnknownRoute, bool useInheritedMediaQuery = false, List<NavigatorObserver> navigatorObservers = const <NavigatorObserver>[], TransitionBuilder? builder, TextDirection? textDirection, String title = '', GenerateAppTitle? onGenerateTitle, Color? color, ThemeData? theme, ThemeData? darkTheme, ThemeMode themeMode = ThemeMode.system, Locale? locale, Locale? fallbackLocale, Iterable<LocalizationsDelegate>? localizationsDelegates, LocaleListResolutionCallback? localeListResolutionCallback, LocaleResolutionCallback? localeResolutionCallback, Iterable<Locale> supportedLocales = const <Locale>[Locale('en', 'US')], bool debugShowMaterialGrid = false, bool showPerformanceOverlay = false, bool checkerboardRasterCacheImages = false, bool checkerboardOffscreenLayers = false, bool showSemanticsDebugger = false, bool debugShowCheckedModeBanner = true, Map<LogicalKeySet, Intent>? shortcuts, ScrollBehavior? scrollBehavior, CustomTransition? customTransition, Map<String, Map<String, String>>? translationsKeys, Translations? translations, VoidCallback? onInit, VoidCallback? onReady, VoidCallback? onDispose, ValueChanged<Routing?>? routingCallback, Transition? defaultTransition, List<GetPage>? getPages, bool? opaqueRoute, bool? enableLog = kDebugMode, LogWriterCallback? logWriterCallback, bool? popGesture, Duration? transitionDuration, bool? defaultGlobalState, SmartManagement smartManagement = SmartManagement.full, List<Bind> binds = const [], GetPage? unknownRoute, ThemeData? highContrastTheme, ThemeData? highContrastDarkTheme, Map<Type, Action<Intent>>? actions})
Creates a GetMaterialApp instance for a standard GetX application.
const
GetMaterialApp.router({Key? key, RouteInformationProvider? routeInformationProvider, GlobalKey<ScaffoldMessengerState>? scaffoldMessengerKey, RouteInformationParser<Object>? routeInformationParser, RouterDelegate<Object>? routerDelegate, RouterConfig<Object>? routerConfig, BackButtonDispatcher? backButtonDispatcher, TransitionBuilder? builder, String title = '', GenerateAppTitle? onGenerateTitle, Color? color, ThemeData? theme, ThemeData? darkTheme, bool useInheritedMediaQuery = false, ThemeData? highContrastTheme, ThemeData? highContrastDarkTheme, ThemeMode themeMode = ThemeMode.system, Locale? locale, Iterable<LocalizationsDelegate>? localizationsDelegates, LocaleListResolutionCallback? localeListResolutionCallback, LocaleResolutionCallback? localeResolutionCallback, Iterable<Locale> supportedLocales = const <Locale>[Locale('en', 'US')], bool debugShowMaterialGrid = false, bool showPerformanceOverlay = false, bool checkerboardRasterCacheImages = false, bool checkerboardOffscreenLayers = false, bool showSemanticsDebugger = false, bool debugShowCheckedModeBanner = true, Map<LogicalKeySet, Intent>? shortcuts, ScrollBehavior? scrollBehavior, Map<Type, Action<Intent>>? actions, CustomTransition? customTransition, Map<String, Map<String, String>>? translationsKeys, Translations? translations, TextDirection? textDirection, Locale? fallbackLocale, ValueChanged<Routing?>? routingCallback, Transition? defaultTransition, bool? opaqueRoute, VoidCallback? onInit, VoidCallback? onReady, VoidCallback? onDispose, bool? enableLog = kDebugMode, LogWriterCallback? logWriterCallback, bool? popGesture, SmartManagement smartManagement = SmartManagement.full, List<Bind> binds = const [], Duration? transitionDuration, bool? defaultGlobalState, List<GetPage>? getPages, List<NavigatorObserver>? navigatorObservers, GetPage? unknownRoute})
Creates a GetMaterialApp that uses the standard Flutter Router API.
const

Properties

actions Map<Type, Action<Intent>>?
final
backButtonDispatcher BackButtonDispatcher?
final
binds List<Bind>
final
builder TransitionBuilder?
final
checkerboardOffscreenLayers bool
final
checkerboardRasterCacheImages bool
final
color Color?
final
customTransition CustomTransition?
final
darkTheme ThemeData?
final
debugShowCheckedModeBanner bool
final
debugShowMaterialGrid bool
final
defaultGlobalState bool?
final
defaultTransition Transition?
final
enableLog bool?
final
fallbackLocale Locale?
final
getPages List<GetPage>?
final
hashCode int
The hash code for this object.
no setterinherited
highContrastDarkTheme ThemeData?
final
highContrastTheme ThemeData?
final
home Widget?
final
initialRoute String?
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
locale Locale?
final
localeListResolutionCallback LocaleListResolutionCallback?
final
localeResolutionCallback LocaleResolutionCallback?
final
localizationsDelegates Iterable<LocalizationsDelegate>?
final
logWriterCallback LogWriterCallback?
final
final
final
onDispose VoidCallback?
final
onGenerateInitialRoutes InitialRouteListFactory?
final
onGenerateRoute RouteFactory?
final
onGenerateTitle GenerateAppTitle?
final
onInit VoidCallback?
final
onReady VoidCallback?
final
onUnknownRoute RouteFactory?
final
opaqueRoute bool?
final
popGesture bool?
final
routeInformationParser RouteInformationParser<Object>?
final
routeInformationProvider RouteInformationProvider?
final
routerConfig RouterConfig<Object>?
final
routerDelegate RouterDelegate<Object>?
final
routes Map<String, WidgetBuilder>?
final
routingCallback ValueChanged<Routing?>?
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scaffoldMessengerKey GlobalKey<ScaffoldMessengerState>?
final
scrollBehavior ScrollBehavior?
final
shortcuts Map<LogicalKeySet, Intent>?
final
showPerformanceOverlay bool
final
showSemanticsDebugger bool
final
smartManagement SmartManagement
final
supportedLocales Iterable<Locale>
final
textDirection TextDirection?
final
theme ThemeData?
final
themeMode ThemeMode
final
title String
final
transitionDuration Duration?
final
translations Translations?
final
translationsKeys Map<String, Map<String, String>>?
final
unknownRoute GetPage?
final
useInheritedMediaQuery bool
final

Methods

blur({double begin = 0, double end = 15, Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Blurs the widget from begin to end sigma factor.
bounce({required double begin, required double end, Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Bounces the scale of the widget from begin to end.
build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
fadeIn({Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Animates the widget's opacity from 0.0 to 1.0.
fadeOut({Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Animates the widget's opacity from 1.0 to 0.0.
flip({double begin = 0, double end = 1, Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Flips the widget around the Y-axis from begin to end.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
rotate({required double begin, required double end, Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Rotates the widget from begin to end angle in radians.
scale({required double begin, required double end, Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Scales the widget from begin to end factor.
size({required double begin, required double end, Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Animates the widget's layout size/scale from begin to end.
slide({required OffsetBuilder offset, double begin = 0, double end = 1, Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Translates/slides the widget dynamically using an offset builder.
spin({Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Spins the widget 360 degrees.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited
wave({double begin = 0, double end = 1, Duration duration = _defaultDuration, Duration delay = _defaultDelay, ValueSetter<AnimationController>? onComplete, bool isSequential = false}) GetAnimatedBuilder

Available on Widget, provided by the AnimationExtension extension

Animates the widget with a translation wave on the Y-axis.

Operators

operator ==(Object other) bool
The equality operator.
inherited