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