Saltar al contenido
Educándose En Línea

¿Qué es MaterialApp en Flutter?

materialApp

El uso del widget MaterialApp es completamente opcional, pero es una buena práctica.

MaterialApp es una clase predefinida en flutter, Es probable que sea el componente principal o central de nueatra aplicación de flutter. Podemos acceder a todos los demás componentes y widgets proporcionados por Flutter SDK.

Text widget, Dropdownbutton widget, AppBar widget, Scaffold widget, ListView widget, StatelessWidget, StatefulWidget, IconButton widget, TextField widget, Padding widget, ThemeData widget, etc, son los widgets que se puede acceder utilizando la clase MaterialApp. Hay muchos más widgets a los que se accede mediante la clase MaterialApp. Usando este widget, podemos hacer una aplicación atractiva. 

Propiedades del widget MaterialApp:

  • action: esta propiedad toma   Map <Type, Action <Intent>> como el objeto. Controla las claves de intención.
  • backButtonDispatcher: Decidió cómo manejar el botón de retroceso.
  • checkerboardRasterCacheImage:   esta propiedad toma un booleano como objeto. Si se establece en verdadero, activa el tablero de ajedrez de imágenes de caché ráster.
  • color: Controla el color primario utilizado en la aplicación.
  • darkTheme: proporcionó datos de tema para el tema oscuro de la aplicación.
  • debugShowCheckedModeBanner: esta propiedad toma un booleano como objeto para decidir si mostrar el banner de depuración o no.
  • debugShowMaterialGird: esta propiedad toma un booleano como objeto. Si se establece en verdadero, pinta una aplicación de material de cuadrícula de línea de base.
  • highContrastDarkTheme: proporcionó los datos del tema que se utilizarán para el tema de alto contraste.
  • inicio: esta propiedad toma el widget como el objeto para mostrar en la ruta predeterminada de la aplicación.
  • initialRoute: esta propiedad toma una cadena como objeto para dar el nombre de la primera ruta en la que se construye el navegador.
  • locale: proporciona una locale para MaterialApp.
  • localizationsDelegate: esto proporciona un delegado para las configuraciones regionales.
  • navigatorObserver: toma GlobalKey <NavigatorState> como el objeto para generar una clave al construir un navegador.
  • navigatorObserver: esta propiedad contiene List <NavigatorObserver> como el objeto para crear una lista de observadores para el navegador.
  • onGenerateInitialRoutes: esta propiedad toma InitialRouteListFactory typedef como el objeto para generar rutas iniciales.
  • onGeneratRoute: El onGenerateRoute toma en un RouteFactory que el objeto. Se utiliza cuando la aplicación se navega a una ruta con nombre.
  • OnGenerateTitle: esta propiedad toma RouteFactory typedef como el objeto para generar una cadena de título para la aplicación, si se proporciona.
  • onUnknownRoute: El onUnknownRoute toma en typedef RouteFactory como el objeto de proporcionar una ruta en caso de fallo en otro metheod.
  • routeInformationParse: esta propiedad contiene RouteInformationParser <T> como el objeto de la información de enrutamiento de routeInformationProvider en un tipo de datos genérico.
  • routeInformationProvider: esta propiedad toma la clase RouteInformationProvider como objeto. Es responsable de proporcionar información de enrutamiento.
  • routeDelegate: esta propiedad toma RouterDelegate <T>  como el objeto para configurar un widget dado.
  • rutas: la propiedad de rutas toma la clase L ogicalKeySet como el objeto para controlar el enrutamiento de nivel superior de la aplicación.
  • Atajos: esta propiedad toma la clase LogicalKeySet como el objeto para decidir el atajo de teclado para la aplicación.
  • showPerformanceOverlay: El showPerformanceOverlay toma en un booleano valor que el objeto para activar o desactivar superposición rendimiento.
  • showSemantisDebugger: esta propiedad toma un booleano como objeto. Si se establece en verdadero, muestra información accesible.
  • supportedLocales: la propiedad supportedLocales mantiene los locales utilizados en la aplicación al tomar la clase Iterable <E> como objeto.
  • tema: esta propiedad toma la clase ThemeData como el objeto para describir el tema de MaterialApp.
  • themeMode:  esta propiedad contiene la enumeración ThemeMode como el objeto para decidir el tema de la aplicación de material.
  • title: la propiedad title toma una cadena como el objeto para decidir la descripción de una línea de la aplicación para el dispositivo.

Ejemplo de la implementación de MaterialApp

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'educandose en linea',
      home: Scaffold(
        appBar: AppBar(
          title: Text('Educandose en linea'),
        ),
        body: Center(
          child: Container(
            child: Text('Hello World'),
          ),
        ),
      ),
    );
  }
}

materialApp1 opt 311x640 - ¿Qué es MaterialApp en Flutter?

¿Por qué usamos MaterialApp en Flutter?

Una aplicación que utiliza material design.

Un widget de conveniencia que incluye una serie de widgets que se requieren comúnmente para aplicaciones de diseño de materiales. Se basa en una WidgetsApp al agregar funciones específicas de diseño de materiales, como AnimatedTheme y GridPaper .

El MaterialApp configura el nivel superior del navegador para buscar rutas en el siguiente orden:

Para la /ruta , se usa la propiedad de la casa , si no es nula.

De lo contrario, se utiliza la tabla de rutas , si tiene una entrada para la ruta.

De lo contrario, se llama a onGenerateRoute , si se proporciona. Debería devolver un valor no nulo para cualquier ruta válida que no sea manejada por home y rutas .

Finalmente, si todo lo demás falla, se llama a onUnknownRoute .

FUENTE: https://api.flutter.dev/flutter/material/MaterialApp-class.html

 

 

A %d blogueros les gusta esto: