NyApp class

A unified widget that combines theme management and localization.

This simplifies the app entry point by wrapping your MaterialApp with all necessary providers for themes and localization.

Example:

class Main extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return NyApp(
      child: (themeData, locale) => MaterialApp(
        theme: themeData,
        locale: locale,
        localizationsDelegates: NyLocalization.instance.delegates,
        supportedLocales: [Locale('en', 'US')],
        home: HomePage(),
      ),
    );
  }
}

Or use the materialApp factory for a more complete setup:

NyApp.materialApp(
  navigatorKey: navigatorKey,
  initialRoute: '/home',
  onGenerateRoute: router.generator(),
  onUnknownRoute: router.unknownRoute(),
  navigatorObservers: [MyObserver()],
  supportedLocales: [Locale('en', 'US'), Locale('es', 'ES')],
)
Inheritance
Available extensions

Constructors

NyApp({Key? key, required Widget child(ThemeData? themeData, Locale locale)?, Duration themeDuration = const Duration(milliseconds: 200), Curve themeCurve = Curves.easeInOut, Color? backgroundColor})
Create a new NyApp with a custom builder.
const

Properties

backgroundColor Color?
Background color shown during loading.
final
child Widget Function(ThemeData? themeData, Locale locale)?
Builder function that receives theme data and locale.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
themeCurve Curve
Curve of the theme transition animation.
final
themeDuration Duration
Duration of the theme transition animation.
final

Methods

connectiveOr({required Widget offline}) Widget

Available on Widget, provided by the ConnectiveExtension extension

Wraps the widget in a Connective that shows an offline placeholder.
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<NyApp>
Creates the mutable state for this widget at a given location in the tree.
override
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
faderBottom({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the bottom of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderFrom({double strength = 0.2, Color color = Colors.black, AlignmentGeometry begin = Alignment.topCenter, AlignmentGeometry end = Alignment.bottomCenter}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader with custom alignment. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderLeft({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the left of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderRight({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the right of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderTop({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the top of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
flexible({Key? key, int flex = 1, FlexFit fit = FlexFit.loose}) Flexible

Available on StatefulWidget, provided by the NyStatefulExt extension

Make a StatefulWidget Flexible.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onlyOffline() Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when offline, otherwise shows nothing.
onlyOnline() Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when online, otherwise shows nothing.
pullable({required Future<void> onRefresh()?, PullableConfig? pullableConfig}) Widget

Available on Widget, provided by the NyWidgetExt extension

Make a widget pullable using the Pullable widget.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toSkeleton({Key? key, bool? ignoreContainers, bool? justifyMultiLineText, Color? containersColor, bool ignorePointers = true, bool enabled = true, PaintingEffect? effect, TextBoneBorderRadius? textBoneBorderRadius}) → Skeletonizer

Available on Widget, provided by the NyWidgetExt extension

Make a widget a skeleton using the Skeletonizer package.
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

Operators

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

Static Methods

materialApp({Key? key, GlobalKey<NavigatorState>? navigatorKey, String? initialRoute, Route? onGenerateRoute(RouteSettings settings)?, Route? onUnknownRoute(RouteSettings settings)?, List<NavigatorObserver> navigatorObservers = const [], List<Locale> supportedLocales = const [Locale('en', 'US')], ThemeMode themeMode = ThemeMode.system, bool debugShowCheckedModeBanner = false, bool debugShowMaterialGrid = false, bool showPerformanceOverlay = false, bool checkerboardRasterCacheImages = false, bool checkerboardOffscreenLayers = false, bool showSemanticsDebugger = false, Duration themeDuration = const Duration(milliseconds: 200), Curve themeCurve = Curves.easeInOut, Color? backgroundColor, Widget? home, String? title, Widget builder(BuildContext, Widget?)?, Locale? localeResolutionCallback(Locale?, Iterable<Locale>)?}) Widget
Factory constructor for a complete MaterialApp setup.
restart(BuildContext context) → void
Restart the app (useful after language changes).