MaterialApp
MaterialApp代表使用Material设计风格的应用,里面包含了其所需要的基本控件。一个完整的Flutter项目是由这个主组件开始的。
MaterialApp属性详解
| 属性 | 类型 | 简述 | 
|---|---|---|
| home | Widget | 主页。用于指定当前App打开时显示的页面 | 
| routes | Map<String, WidgetBuilder> | 路由表,定义页面跳转规则 | 
| initialRoute | String | 初始路由名称 | 
| onGenerateRoute | RouteFactory | 通过pushNamed跳转路由页面时,在routes查找不到时回调 | 
| onUnknownRoute | RouteFactory | onGenerateRoute 无法生成路由时调用 | 
| navigatorObservers | List<NavigatorObserver> | 导航的监听器列表 | 
| builder | TransitionBuilder | 构建Widget前调用, 一般做字体大小,方向,主题颜色等配置 | 
| title | String | 应用标题。出现在Android任务管理器的程序快照之上 ,或iOS的程序切换管理器中 | 
| onGenerateTitle | GenerateAppTitle | 与title一样,但含有一个context参数用于做本地化 | 
| theme | ThemeData | 应用程序的主题,各种的定制颜色都可以设置,用于程序主题切换 | 
| darkTheme | ThemeData | 深色模式下的主题 | 
| themeMode | ThemeMode | 用于设定主题模式 | 
| color | Color | 应用的主颜色值 | 
| locale | Locale | 用于本地化。如果为null则使用当前系统区域 | 
| localizationsDelegates | Iterable<LocalizationsDelegate<dynamic>> | 本地化委托,用于更改Widget默认的提示语,按钮text等 | 
| localeListResolutionCallback | LocaleListResolutionCallback | 该回调负责在应用启动时以及用户更改设备的区域设置时选择应用的区域设置 | 
| localeResolutionCallback | LocaleResolutionCallback | 当传入的是不支持的语种,可通过该回调做相应处理 | 
| supportedLocales | Iterable<Locale> | 传入支持的语种列表 | 
| showPerformanceOverlay | bool | 用于性能测试。 | 
| checkerboardRasterCacheImages | bool | 为true时,打开光栅缓存图像的棋盘格 | 
| checkerboardOffscreenLayers | bool | 为true时,打开棋盘格层 | 
| showSemanticsDebugger | bool | 为true时,打开Widget边框,显示布局边界 | 
| debugShowCheckedModeBanner | bool | 为true时,在debug模式下显示右上角的debug横幅 | 
| debugShowMaterialGrid | bool | debug模式下是否显示Material网格 | 
// 在构建UI前,设置一些属性
MaterialApp(
      builder: (BuildContext context, Widget child) {
        return MediaQuery(
          data: MediaQuery.of(context).copyWith(
                textScaleFactor: 1.4,
              ),
          child: child,
        );
      },
    );
                    THE END
    





暂无评论内容