Flutter MaterialApp [组件]

MaterialApp

MaterialApp代表使用Material设计风格的应用,里面包含了其所需要的基本控件。一个完整的Flutter项目是由这个主组件开始的。

MaterialApp属性详解

属性类型简述
homeWidget主页。用于指定当前App打开时显示的页面
routesMap<String, WidgetBuilder>路由表,定义页面跳转规则
initialRouteString初始路由名称
onGenerateRouteRouteFactory通过pushNamed跳转路由页面时,在routes查找不到时回调
onUnknownRouteRouteFactoryonGenerateRoute 无法生成路由时调用
navigatorObserversList<NavigatorObserver>导航的监听器列表
builderTransitionBuilder构建Widget前调用, 一般做字体大小,方向,主题颜色等配置
titleString应用标题。出现在Android任务管理器的程序快照之上 ,或iOS的程序切换管理器中
onGenerateTitleGenerateAppTitletitle一样,但含有一个context参数用于做本地化
themeThemeData应用程序的主题,各种的定制颜色都可以设置,用于程序主题切换
darkThemeThemeData深色模式下的主题
themeModeThemeMode用于设定主题模式
colorColor应用的主颜色值
localeLocale用于本地化。如果为null则使用当前系统区域
localizationsDelegatesIterable<LocalizationsDelegate<dynamic>>本地化委托,用于更改Widget默认的提示语,按钮text等
localeListResolutionCallbackLocaleListResolutionCallback该回调负责在应用启动时以及用户更改设备的区域设置时选择应用的区域设置
localeResolutionCallbackLocaleResolutionCallback当传入的是不支持的语种,可通过该回调做相应处理
supportedLocalesIterable<Locale>传入支持的语种列表
showPerformanceOverlaybool用于性能测试。
checkerboardRasterCacheImagesbooltrue时,打开光栅缓存图像的棋盘格
checkerboardOffscreenLayersbool为true时,打开棋盘格层
showSemanticsDebuggerbool为true时,打开Widget边框,显示布局边界
debugShowCheckedModeBannerbool为true时,在debug模式下显示右上角的debug横幅
debugShowMaterialGridbooldebug模式下是否显示Material网格
// 在构建UI前,设置一些属性
MaterialApp(
      builder: (BuildContext context, Widget child) {
        return MediaQuery(
          data: MediaQuery.of(context).copyWith(
                textScaleFactor: 1.4,
              ),
          child: child,
        );
      },
    );
THE END
喜欢就支持一下吧
点赞12 分享